一、准备工作
1.1、准备三台CentOS
1.2、配置静态IP、DNS
vi /etc/sysconfig/network-scripts/ficfg-ens33
IPADDR为 配置的ip
NETMASK 子网掩码
GATEWAY 网关
配置保存后重启虚拟网络
service network restart
1.3、配置Hostname
vi /etc/hostname#将第一行替换成新名字
master
配置hosts文件
vi /etc/hosts192.168.75.131 master
192.168.75.132 slave1
192.168.75.133 slave2
hostname和hosts改完之后,统一把所有机器重启一遍!让配置生效!
1.4、关闭防火墙与SElinux
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
查看状态
firewall-cmd --state
关闭Selinux
vi /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
1.5、SSH免密登陆
- 在每个节点上分别执行命令行输入:ssh-keygen -t rsa , 一直按回车或Yes直到生成结束(执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub其中前者为私钥,后者为公钥)
- 在主节点上执行命令行输入:
cp id_rsa.pub authorized_keys
- 将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp id_rsa.pub root@slave1:/root/.ssh/id_rsa_master.pub
scp id_rsa.pub root@slave2:/root/.ssh/id_rsa_master.pub
- 在其他两个节点上,将拷贝过来的两个公钥合并到authorized_keys文件中
cat id_rsa_master.pub >> authorized_keys
- 其他节点重复主节点操作
1.6、修改YUM源
下载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
1.7、JDK1.8
-
下载上传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
1.8、NTP时间同步
-
安装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 4time correct to within 1019 mspolling server every 64 s
ps:一般需要等待5-10分钟才可以正常同步。
1.9、安装HTTP服务器
安装:yum install httpd -y
启动:systemctl start httpd.service
开机启动:systemctl enable httpd.service
1.10、安装MySQL
略
1.11、安装mysql jdbc
mkdir /usr/share/java
直接下载的mysql-connector-java-5.1.49.jar包,放在/usr/share/java 下面
1.12、搭建数据库
MySQL安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
USER 后是用户名IDENTIFIED BY后面是用户登录密码可自己修改
登陆mysql 然后创建如下数据库()
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:
create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:
create database oozie character set utf8 ;
CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
如果要安装hue,再创建hue数据库和用户 再执行下面的语句:
create database hue character set utf8 ;
CREATE USER 'hue'@'%'IDENTIFIED BY 'Hue-1234';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%';
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
2.2、安装本地源相关工具
将下载好的源上传到 的 /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文件放到这下面
vi 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最后端都要加/,否则后面会报错
保存并退出
vi 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
2.4将Ambari数据库脚本导入到数据库
用Ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
2.5安装Ambari
安装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
- 配置完成
2.6 配置/usr/share/java下的java包
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
2.7启动Amabri
ambari-server start
三、使用Ambari界面安装Hadoop、Hbase、Log Search服务
3.1、成功启动后在浏览器输入Ambari地址:http://192.168.75.131:8080
3.2、登录成功后出现下面的界面,至此Ambari的安装成功
安装安装HDP 2.5.3 配置集群(点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置)
3.3设置集群名称
3.4选择版本
这里选择如下
3.5设置集群机器(下载master机器上的id_rsa私钥到本地)主节点钥匙
点击register后报错
vi /var/log/ambari-agent/ ambari-agent.log,是python版本过高引起的ssl错误,降低python版本
使用如下命令,在ambari-agent.ini的security底下添加和在.cfg的https底下添加(针对所有节点)
- vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2
- vi /etc/python/cert-verification.cfg
[https]
verify=disable
3.6Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作)
3.7选择要安装的服务
3.8各个服务Master配置
3.9服务的Slaves 和 Clients节配置
3.10服务的客制化配置
3.11显示配置信息
3.12开始安装