centos7.4安装Ambari-2.7.1.0搭建HDP-3.1.0
一、环境准备
1、centos7以上系统
2、mysql版本:mysql-5.7.21
3、jdk版本:java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
4、Ambari版本:Ambari-2.7.1.0
5、HDP版本:HDP-3.1.0
6、保证所有节点时间同步
二、关闭服务器防火墙并设置开机不启动(所有服务器)
指令:
systemctl disable firewalld
service firewalld stop
三、分别设置SSH免密登陆
请参考以下博客:
https://blog.csdn.net/Alan3344/article/details/84131661
注:配置好后给所有的ssh的公钥和私钥配置权限
指令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
四、分别修改主机名
指令:
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、中间空格、后面是服务器的名称
将hosts文件分发到所有的服务器中
scp /etc/hosts aaa@qq.com/etc/hosts
scp /etc/hosts aaa@qq.com/etc/hosts
注:zgl-2、zgl-3是其它节点的服务器名称
六、分别禁用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
分发到其它节点上:
scp /etc/rc.d/rc.local aaa@qq.com:/etc/rc.d
scp /etc/rc.d/rc.local aaa@qq.com:/etc/rc.d
注:zgl-2、zgl-3是其它节点的服务器名称
七、分别禁用selinux
指令:
vim /etc/selinux/config
修改config文件中的SELINUX为disabled,如下:
SELINUX=disabled
八、安装jdk(每一个节点都需要)
指令:
yum install -y lsof java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 bzip2 net-tools.x86_64 rsync nfs-utils ntp ntpdate ntp-doc
查找jdk的安装路径:
指令:
which java
ll /usr/bin/java
ll /etc/alternatives/java
如图:
再配置jdk的环境变量:
指令:
vim /etc/profile
在profile文件中添加如下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
##注:JAVA—HOME中是服务器jdk的安装地址
将配置好的环境文件profile分发到其它节点
指令:
scp /etc/profile aaa@qq.com:/etc
scp /etc/profile aaa@qq.com:/etc
注:zgl-2、zgl-3是其它节点的服务器名称
分别使各个节点的环境配置生效,所有节点均执行以下指令:
source /etc/profile
九、重启服务器,让所有配置生效
reboot
十、安装mysql
1、安装步骤参考以下博客:
https://blog.csdn.net/Alan3344/article/details/103567870
2、安装完成后创建ambari数据库和用户
指令:
##先登录mysql
use mysql;
create database ambari default charset utf8 collate utf8_general_ci; #新建ambari数据库
CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambari-123';#新建ambari用户
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';#分配ambari权限
FLUSH PRIVILEGES;#刷新系统权限表
3、创建hive数据库和用户(需要安装hive)
指令:
create database hive default charset utf8 collate utf8_general_ci; #新建hive数据库
CREATE USER 'hive'@'%' IDENTIFIED BY 'Hive-123';#新建hive用户
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';#分配hive权限
FLUSH PRIVILEGES;#刷新系统权限表
4、创建Oozie数据库和用户(需要安装Oozie)
指令:
create database Oozie default charset utf8 collate utf8_general_ci; #新建Oozie数据库
CREATE USER 'Oozie'@'%' IDENTIFIED BY 'Oozie-123';#新建Oozie用户
GRANT ALL PRIVILEGES ON Oozie.* TO 'Oozie'@'%';#分配Oozie权限
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
指令:
ambari-server setup
安装上图操作:
a、第一个选y
b、在ambari-server da ..(root): root
c、选择jdk的时候选择2
d、输入jdk的安装路径:就是前面查看jdk路径所显示的路径,
注:我在此处路径是: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
如上图选择数据库操作:
e、自定义数据库:y
f、选择数据库,此处选mysql:3
g、数据库的操作一直enter就行,因为有默认值,但是 在密码处需要自己输入:Amabri-123
h、在custom.jdbc.driver处:/usr/share/java/mysql-connector-java-5.1.43.jar
i、最后一个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;
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驱动
指令:
##在mabari-server服务器上
cd /usr/share/java
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.43.jar
注:选择Existing Mysql (因为前面已经安装好了)
这里的密码是在mysql中配置hive数据库时的密码:Hive-123
最后:Connection OK即可。
12、后面的设置就跟着界面走就行,此处不再多说了
十六、结果