一、环境准备
1、centos7以上系统
2、mysql版本:mysql-5.7.21
3、jdk版本:java-1.8.0
4、Ambari版本:Ambari-2.7.1.0
5、HDP版本:HDP-3.1.0
6、保证所有节点时间同步
二、关闭服务器防火墙并设置开机不启动(所有服务器)
指令:
systemctl disable firewalld
service firewalld stop
三、分别设置SSH免密登陆
在每个节点上分别执行命令行输入: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,然后同步将公钥拷贝到其他机器上,拷贝过程中需要输入目标机器的密码其他节点重复主节点操作
四、分别修改主机名
指令:
vim /etc/sysconfig/network
添加以下内容到network文件中
NETWORKING=yes
HOSTNAME=zgl
##注:zgl处填写此台服务器的名称
注:以上操作每一台服务器都需执行
五、分别添加服务器的DNS
指令:
vim /etc/hosts
添加以下内容在hosts文件中(针对所有服务器)
10.11.123.123 zgl-1
10.11.123.124 zgl-2
10.11.123.125 zgl-3
注:前面为服务器ip、中间空格、后面是服务器的名称
六、分别禁用linux huge page
指令:
vim /etc/rc.d/rc.local
在rc.local文件中添加以下内容:(针对所有节点)
#disable THP at boot time
if zgl-1 -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if zgl-1 -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
分发到其它节点上:
注:zgl-2、zgl-3是其它节点的服务器名称
七、分别禁用selinux(针对所有节点)
指令:
vim /etc/selinux/config
修改config文件中的SELINUX为disabled,如下:
SELINUX=disabled
八、安装jdk(每一个节点都需要)
-
下载上传jd k1.8到三台服务器
-
解压
tar -zxvf jdk-8u251-linux-x64.tar.gz
-
改个名
mv jdk1.8.0_251 jdk1.8
-
vim /etc/profile
#jdk1.8
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
九、重启服务器,让所有配置生效
reboot
十、安装mysql
1、安装步骤参考以下博客:
https://blog.csdn.net/weixin_42575806/article/details/80880781
2、安装完成后创建ambari数据库和用户
指令:
##先登录mysql
use mysql;
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;
3、创建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;
4、创建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;
十一、安装Httpd
指令:
yum install httpd -y #下载安装
systemctl start httpd.service #启动服务
systemctl enable httpd.service #设置开机启动
systemctl status httpd.service #查看httpd的状态
十二、下载Ambari和HDP的安装包
1、在根目录下创建data文件夹用于存放安装包
mkdir /data
cd /data
2、执行以下指令下载安装包
##下载HDP安装包
wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz
##下载HDP-UTILS安装包
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
##下载ambari安装包
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari-2.7.1.0-centos7.tar.gz
##下载HDP-GPL安装包
wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.0.1.0/HDP-GPL-3.0.1.0-centos7-gpl.tar.gz
注:以上安装包下载需要一定的时间,请耐心等待,下载好后如下图所示(四个tar.gz压缩包):
3、在/var/www/html目录下创建一个ambari文件夹
cd /var/www/html/
mkdir ambari
如图:
4、将/data目录下的四个安装包解压到/var/www/html/ambari目录下
tar -zxvf /data/ambari-2.7.1.0-centos7.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-GPL-3.0.1.0-centos7-gpl.tar.gz -C /var/www/html/ambari
tar -zxvf /data/HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/ambari
解压完后如下图:
注:此时在浏览器登陆:
http://ip/ambari
注:将ip换成主节点ip
如图:
5、下载ambari.repo 和hdp.repo文件
指令:
cd /data
##下载ambari.repo文件
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari.repo
##下载hdp.repo文件
wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/hdp.repo
6、修改ambari.repo文件
指令:
vim ambari.repo
##替换以下内容
baseurl=http://${ip地址}/ambari/ambari/centos7/2.7.1.0-169/
gpgkey=http://${ip地址}/ambari/ambari/centos7/2.7.1.0-169/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
注:baseurl和gpgkey后面的路径就是在httpd服务上的路径
也就是在/var/www/html/路径后的路径
7、修改hdp.repo文件
指令:
vim hdp.repo
##替换以下内容
[HDP-3.0.1.0]
baseurl=http://${ip地址}/ambari/HDP/centos7/3.0.1.0-187/
gpgkey=http://${ip地址}/ambari/HDP/centos7/3.0.1.0-187/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
[HDP-UTILS-1.1.0.22]
baseurl=http://${ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/
gpgkey=http://${ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
8、将ambari.repo和hdp.repo文件复制到/etc/yum.repos.d路径下
指令:
cd /data
cp ambari.repo /etc/yum.repos.d
cp hdp.repo /etc/yum.repos.d
在将这两个文件分发到其它节点对应的/etc/yum.repos.d目录中
##分发ambari.repo文件到其余子节点
scp /etc/yum.repos.d/ambari.repo @zgl-2:/etc/yum.repos.d
scp /etc/yum.repos.d/ambari.repo @zgl-3:/etc/yum.repos.d
##分发hdp.repo文件到其余子节点
scp /etc/yum.repos.d/hdp.repo @zgl-2:/etc/yum.repos.d
scp /etc/yum.repos.d/hdp.repo @zgl-3:/etc/yum.repos.d
注:zgl-2、zgl-3是其它节点的服务器名称
9、下载mysql驱动包并将驱动包放到/usr/share/java目录下
此处我用的是mysql-connector-java-5.1.43.jar 如下图:
十三、安装ambari-server
1、更新yum缓存
yum clean all
yum makecache
yum repolist
2、安装ambari-server
指令:
yum install ambari-server
3、设置ambari-server
在启动之前需要配置/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
然后再执行启动指令:
ambari-server setup
安装上图操作:
a、第一个选y
b、在ambari-server da ..(root): ambari
c、选择jdk的时候选择2
d、输入jdk的安装路径:就是前面查看jdk路径所显示的路径,
注:我在此处路径是:如果前面已经处理mysql-connector-java.jar那么这里就不会出现需要填写的地方,如果前面没有处理建议按照‘设置ambari-server’来处理一下
如上图选择数据库操作:
e、自定义数据库:y
f、选择数据库,此处选mysql:3
g、数据库的操作一直enter就行,因为有默认值,但是 在密码处需要自己输入:Amabri-123
h、最后一个y,直到显示success;
4、在mysql中生成ambari元数据表
指令:
##登陆mysql 用ambari用户
mysql -uambari -p
Ambari-123 #密码
use ambari;
##以下指令用于执行/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql的sql文件
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脚本也可以达到效果。
5、启动ambari
#启动指令
ambari-server start
#停止指令
ambari-server stop
十四、安装ambari-agent(每一个节点都需要操作,包括主节点,即ambari-server节点)
1、如果ambari-server是启动状态,就先停止ambari-server
2、安装ambari-agent
yum install ambari-agent
3、编辑ambari-agent的配置文件
vim /etc/ambari-agent/conf/ambari-agent.ini
##修改以下内容
[server]
hostname=zgl-1
##注以上zgl-1是安装ambari-server的主节点服务器名称
4、启动服务
#先启动server
ambari-server start
#再启动agent,每一个节点都需要启动
ambari-agent start
十五、安装HDP
1、使用浏览器登录网址:http://ip:8080
注:ip 是主节点ambari-server服务器ip 登录名/密码:admin/admin
如图:
2、点击“Launch Install Wizard”进入如下界面:
注:这里输入集群名称
3、选择版本
注:此处选择use local reponsitory
4、只留下redhat7其余的都移除掉,对应后面应该填如下内容:
HDP-3.1:http://ip地址/ambari/HDP/centos7/3.0.1.0-187/
HDP-3.1-GPL:http://ip地址/ambari/HDP-GPL/centos7/3.0.1.0-187/
HDP-UTILS-1.1.0.22:http://ip地址/ambari/HDP-UTILS/centos7/1.1.0.22/
注:以上ip地址是ambari-server服务器地址(在此台服务器安装的httpd服务)
5、安装选项
注:以上图片不准确,在这只是为了方便有个界面做参考!!!!
Target Hosts框中内容填如下
zgl-1
zgl-2
zgl-3
##注以上内容是每一个服务器的名称,名字之间换行,
选择Perform manual registration on hosts and do not use SSH
注:因为我们事先已经将ambari-agent启动起来,所以直接选择不要通过SSH的形式
6、确认主机
注:点击这个是确定服务器安装没有问题,如果有错误信息则处理错误信息;
7、选择服务
注:根据需要,自勾选需要安装的组件;(不需要的先暂时不要添加进去,如果实在不会的可以上网查一些资料)
8、分配master
注:根据情况自定义,或者选择默认
9、分配slaves和clents
10、设置密码
注:填入前面mysql中自定义的密码,根据提示完成
11、修改hive元数据信息库
注意:ambari-server所在结点添加mysql-java驱动
注:选择Existing Mysql (因为前面已经安装好了)
这里的密码是在mysql中配置hive数据库时的密码:Hive-123
最后:Connection OK即可。
12、后面的设置就跟着界面走就行,中间有错误根据情况解决
十六、结果