一、准备工作
vi /etc/sysconfig/network-scripts/ficfg-ens33
IPADDR为 配置的ip
NETMASK 子网掩码
GATEWAY 网关
配置保存后重启虚拟网络
service network restart
vi /etc/hostname
#将第一行替换成新名字
master
配置hosts文件
vi /etc/hosts
192.168.2.171 master
192.168.2.172 slave1
192.168.2.173 slave2
hostname和hosts改完之后,统一把所有机器重启一遍!让配置生效!
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
查看状态
firewall-cmd --state
关闭Selinux
vi /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
- 在每个节点上分别执行命令行输入:ssh-keygen -t rsa , 一直按回车或Yes直到生成结束(执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub其中前者为私钥,后者为公钥)
- 在主节点上执行命令行输入:
cat id_rsa.pub >> authorized_keys
- 将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
ssh-copy-id root@slave1
ssh-copy-id root@slave2
- 在其他两个节点上,一次执行上面操作,先生成rsa,然后同步将公钥拷贝到其他机器上,拷贝过程中需要输入目标机器的密码其他节点重复主节点操作
下载wget:
yum -y install wget
- 改用阿里云镜像站点,备份本地yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
- 获取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
下载上传jd k1.8到三台服务器
-
解压
tar -zxvf jdk-8u251-linux-x64.tar.gz
-
改个名
mv jdk1.8.0_251 jdk1.8
-
vi /etc/profile
#JAVA
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
source /etc/profile
-
安装ntp :
yum -y install ntp
-
Master依次输入以下命令
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
vi /etc/ntp.conf
restrict 127.0.0.1
restrict ::1
#Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.10.0 mask 255.255.240.0 nomodify notrap //允许的网络字段连接ip限制
server 127.127.1.0 //以本机时间为准
fudge 127.127.1.0 stratum 10
#server 0.centos.pool.ntp.org iburst //全部注释掉
#server 3.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
- 其他节点配置如下
vim /etc/ntp.conf
server ambari-1 //指定ntp 服务器,为ambari-1
\#server 0.centos.pool.ntp.org iburst //全部注释掉
\#server 1.centos.pool.ntp.org iburst
\#server 3.centos.pool.ntp.org iburst
\#server 2.centos.pool.ntp.org iburst
- 在所有节点启动ntp服务:
systemctl start ntpd.service
检查是否成功用“ntpstat”命令查看同步状态,出现以下状态代表启动成功
[root@slave1 ~]# ntpstat
synchronised to NTP server (192.168.75.131) at stratum 4
time correct to within 1019 ms
polling server every 64 s
ps:一般需要等待5-10分钟才可以正常同步。
如果发现时间与当前PC端时间不对,可以采用手动设置时区:timedatectl set-timezone "Asia/Shanghai"
(这里是设置亚洲上海上海)
安装:yum install httpd -y
启动:systemctl start httpd.service
开机启动:systemctl enable httpd.service
略
mkdir /usr/share/java
mysqld的相关jar可以从https://downloads.mysql.com/archives/c-j/中下载
直接下载的mysql-connector-java-5.1.49.jar包,放在/usr/share/java 下面
MySQL安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
USER 后是用户名IDENTIFIED BY后面是用户登录密码可自己修改
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%' IDENTIFIED BY 'Ambari-123';
FLUSH PRIVILEGES;
如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:
create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'Hive-123';
FLUSH PRIVILEGES;
如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:
create database oozie character set utf8 ;
CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%' IDENTIFIED BY 'Oozie-123';
FLUSH PRIVILEGES;
如果要安装hue,再创建hue数据库和用户 再执行下面的语句:
create database hue character set utf8 ;
CREATE USER 'hue'@'%'IDENTIFIED BY 'Hue-1234';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%' IDENTIFIED BY 'Hue-1234';
FLUSH PRIVILEGES;
二、安装Ambari
2.1、下载 Ambari HDP、HDP-UTILS、 HDP-GPL源包(文件很大,需要很长下载时间,请耐心等待。。。)建议直接通过迅雷下载好再上传到服务器。
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari-2.6.2.2-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gz
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari.repo
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/hdp.gpl.repo
将下载好的源上传到 的 /var/www/html 目录下,因为文件比较多,我自己在html下新建了一个ambari文件夹,把四个文件放在ambari下面,结构如下:
还记得我们之前安装的HTTP服务器了么,这时候在浏览器输入:http://192.168.75.131/ambari/ ,便可以看见刚刚我们上传的文件
接下来,我们安装制作本地源工具
yum install yum-utils createrepo yum-plugin-priorities -y
createrepo ./
2.3、配置ambari、HDP、HDP-UTILS的本地源
cd /etc/yum.repos.d/ 将我们下载的.repo文件放到这下面
vim ambari.repo
#VERSION_NUMBER=2.6.2.2-1
[ambari-2.6.2.2]
name=ambari Version - ambari-2.6.2.2
baseurl=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
其中 baseurl路径与gpgkey需要根据自己的实际解压路径来,否则makecache不能成功
baseurl最后端都要加/,否则后面会报错
保存并退出
vim hdp.repo
#VERSION_NUMBER=2.6.5.0-292
[HDP-2.6.5.0]
name=HDP-2.6.5.0
baseurl=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22/
baseurl=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
保存并退出
vim hdp.gpl.repo
SION_NUMBER=2.6.5.0-292
[HDP-GPL-2.6.5.0]
name=HDP-GPL Version - HDP-GPL-2.6.5.0
baseurl=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
保存并退出
将这三个文件发送到其他节点,否则以后会报错
紧接着制作源:
yum clean all //清除YUM缓存
yum makecache //建立缓存
yum repolist
用ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
按照上面ambari用户无法直接查看到ambari这db 有两种办法可以处理。
第一种:给ambari用户本地化查看权限
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'localhost';
然后就可以执行上面的操作,初始化ambari的sql脚本
第二种:将sql脚本导出到windows下面,然后通过远程连接可以直接用ambari登录,然后采用执行sql脚本也可以达到效果。
安装Ambari
yum install ambari-server -y
配置Ambari
ambari-server setup
下面是配置执行流程,按照提示操作
- 提示是否自定义设置。输入:y
- ambari-server 账号。输入:ambari
- 设置JDK。输入:3
- 如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/local/jdk/jdk1.8(看自己安装的位置)
- 使Ambari服务器能够下载和安装GPL许可的LZO包,输入: y
- 数据库配置。选择:y
- 选择数据库类型。输入:3
- 设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。Ambari-123(上面数据库创建的时候的密码,如果输入错误,后面无法创建成功)
- 配置完成
cd /usr/share/java
mv mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jar
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
vi /etc/ambari-server/conf/ambari.properties
添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
ambari-server start
三、使用Ambari界面安装Hadoop、Hbase、Log Search服务
3.1、成功启动后在浏览器输入Ambari地址:http://192.168.75.131:8080 默认用户名admin 密码admin 系统中的用户如果是已知的全部是同名同密码比如hive的密码就是hive,如果未知的组件 密码全部为admin 与系统初始密码一致。
3.2、登录成功后出现下面的界面,至此Ambari的安装成功
安装安装HDP 2.5.3 配置集群(点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置)
这里选择如下,把离线下载的文件的路径按照格式填写进去,一定要可以访问到。
3.5设置集群机器(下载master机器上的id_rsa私钥到本地)主节点钥匙
点击register后报错
如果是python版本过高引起的ssl错误,降低python版本,目前我采用Python 2.7.5 是可以直接安装的,不需要另外降低版本。
使用如下命令,在ambari-agent.ini的security底下添加和在.cfg的https底下添加(针对所有节点)
- vim /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2
- vim /etc/python/cert-verification.cfg
[https]
verify=disable
3.6Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作)
3.7选择要安装的服务,对于不太清楚的人员,建议采用默认选择,避免引起组件缺失导致系统安装之后的问题。
3.10服务的客制化配置,如果存在报警,请即使修改地址或者增加密码。