centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)

本文是讲如何在centos7.4(64位) 安装ambari+hdp,如果在装有原生hadoop等集群的机器上安装,需要先将集群服务停掉,然后将不需要的环境变量注释掉即可,如果不注释掉,后面虽然可以安装成功,但是在启动某些服务的时候可能会有异常,比如最后提到的hive启动异常。本文适合系统: RedHat7、CentOS7、Oracle Linux7(都是64位)
注意:centos7中文系统有bug(python脚本中文识别问题),需要使用英文系统。
本文仅作参考(基本每个配置博客都有局限性和坑~),推荐先参考官方文档:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.2.0/bk_ambari-installation/content/ch_Getting_Ready.html
以下均在root用户下执行。

希望大家可以关注下公众号,会定期分享自己从业经历、技术积累及踩坑经验,支持一下,鞠躬感谢~centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)

1、满足最低系统要求
软件要求(在每台主机上)

1.1 yum和rpm
1.2 scp, curl, unzip, tar、 wget
1.3 OpenSSL(v1.01,build 16或更高版本)
1.4 python:2.7(注意如果有使用python3.x的需求,不要改变python环境变量,否则3.x会报错)
1.5 jdk:openjdk 1.8
1.6 mysql:5.6(官网上写的5.6,不确定更高版本有没有问题,也可以使用其他数据库,根据自己习惯)
1.7 内存要求:Ambari主机应该至少有1 GB RAM,500 MB空闲,(但如果使用的话,建议内存8g以上,配置低的话警告也会很多)
1.8 检查最大打开文件描述符,推荐的最大打开文件描述符数为65536或更多
1.9 mysql-connector-java

2、环境准备(在每台主机上)
2.1 ssh 免密
只需master 免密到其他节点(包含自身),不需要互通

2.2 启用NTP,就是保证时间同步

2.3设置主机名
/etc/hosts

2.4 设置主机名
基于每个节点安装的组件设置主机名:
比如nn代表NameNode,rm代表ResourceManager,dn代表DataNode,nm代表NodeManager
所有主机名如下:
172.22.108.21 xnn-rm-01
172.22.108.22 xnn-rm-02
172.22.108.23 xedw-01
172.22.108.24 xedw-02
172.22.108.25 xedw-03
172.22.108.31 xdn-nm-01
172.22.108.32 xdn-nm-02
172.22.108.33 xdn-nm-03
172.22.108.34 xdn-nm-04
172.22.108.35 xdn-nm-05
172.22.108.36 xdn-nm-06
172.22.108.37 xdn-nm-07
172.22.108.38 xdn-nm-08
172.22.253.29 xambari-01

2.5 编辑网络配置文件
编辑/etc/sysconfig/network
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
2.6 禁用iptables

systemctl disable firewalld
service firewalld stop
systemctl stop iptables

2.7 禁用SELinux
2.7.1 临时禁用

setenforce 0

2.7.2 永久禁用(重启机器)
方法一:

vim /etc/sysconfig/selinux
将SELINUX改为disabled,

方法二:

在每一台机器执行sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’/etc/sysconfig/selinux
这样服务器或虚拟机重启也没有问题。

3、制作本地源(仅在master)
因为ambari 和 hdp 安装文件比较大,如果在线安装的话会很慢,所以最好选择本地源。
(可以在集群可以访问的任何机器上制作本地源)

3.1 安装制作本地源工具
yum install yum-utils createrepo

3.2 创建一个HTTP服务器

yum install httpd -y
systemctl enable httpd && systemctl start httpd

3.3 为Web服务器创建目录
mkdir -p /neworiental/image/ambari

3.4 下载系统对应的最新版相关安装包
3.4.1 下载
其中包括Ambari、HDP、HDP-UTILS、HDP-GPL
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.0/ambari-2.6.2.0-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
下载地址见官方文档:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.2.0/bk_ambari-installation/content/ch_obtaining-public-repos.html

3.4.2 解压
tar -zxvf ambari-2.6.2.0-centos7.tar.gz -C /neworiental/image/ambari/
tar -zxvf HDP-2.6.5.0-centos7-rpm.tar.gz -C /neworiental/image/ambari/HDP/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS/
tar -zxvf HDP-GPL-2.6.5.0-centos7-gpl.tar.gz -C /neworiental/image/ambari/HDP-GPL/

3.4.3 解决在浏览器访问
访问 http://xambari-01/ambari/
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
3.5 配置ambari、HDP、HDP-UTILS的本地源

cd /etc/yum.repos.d/
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.0/ambari.repo
wget下载两个yum源
将每个repo里的baseurl和gpgkey的地址修改为本地的

1.vim /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.6.2.0-155
[ambari-2.6.2.0]
name=ambari Version - ambari-2.6.2.0
baseurl=http://xambari-01/ambari/ambari/centos7/2.6.2.0-155
gpgcheck=1
gpgkey=http://xambari-01/ambari/ambari/centos7/2.6.2.0-155/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

2.vim /etc/yum.repos.d/hdp.repo
#VERSION_NUMBER=2.6.5.0-292
[HDP-2.6.5.0]
name=HDP Version - HDP-2.6.5.0
baseurl=http://xambari-01/ambari/HDP/centos7/2.6.5.0-292
gpgcheck=1
gpgkey=http://xambari-01/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://xambari-01/ambari/HDP-UTILS
gpgcheck=1
gpgkey=http://xambari-01/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-GPL-2.6.5.0-292]
name=HDP-GPL Version - HDP-GPL-2.6.5.0-292
baseurl=http://xambari-01/ambari/HDP-GPL/centos7/2.6.5.0-292
gpgcheck=1
gpgkey=http://xambari-01/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

3.使修改的yum源生效
yum clean all
yum list update
yum makecache
yum repolist

4、安装ambari(仅在xambari-01)
4.1安装ambari-server
yum install ambari-server -y

4.2 设置mysql连接器
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
(如果使用mysql作为hive的元数据库)

4.3 创建相关的mysql数据库
CREATE DATABASE ambari;
use ambari;
CREATE USER ‘ambari’@’%’ IDENTIFIED BY ‘ambarizk123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’%’;
CREATE USER ‘ambari’@‘localhost’ IDENTIFIED BY ‘ambarizk123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘localhost’;
CREATE USER ‘ambari’@‘master’ IDENTIFIED BY ‘ambarizk123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘master’;
FLUSH PRIVILEGES;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
show tables;
use mysql;
select Host User Password from user where user=‘ambari’;
CREATE DATABASE hive;
use hive;
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@’%’;
CREATE USER ‘hive’@‘localhost’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@‘localhost’;
CREATE USER ‘hive’@‘master’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@‘master’;
FLUSH PRIVILEGES;
CREATE DATABASE oozie;
use oozie;
CREATE USER ‘oozie’@’%’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@’%’;
CREATE USER ‘oozie’@‘localhost’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@‘localhost’;
CREATE USER ‘oozie’@‘master’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@‘master’;
FLUSH PRIVILEGES;

4.4 配置ambari-server
4.4.1 SETUP
ambari-server setup

4.4.2 配置流程
以下为全部的配置过程,其中主要是自定义jdk,输入JAVA_HOME路径,自定义数据库选mysql,输入数据库用户名,密码等

4.4.3将AMBARI数据库脚本导入到数据库
mysql -uambari -p
enter passwd:
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.4.4 启动AMBARI
ambari-server start

4.4.5 启动成功,可以通过如下地址访问:
http://hostname:8080

5、使用ambari浏览器界面安装hadoop,hive等组件
5.1 登录到ambari管理界面
http://hostname:8080

5.2 安装hdp集群,点击Launch Install Wizard
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.2 安装hdp集群,点击Launch Install Wizard
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.3,设置集群名称

centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.4 配置本地源
其中HDP-GPL较小,用默认的即可
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.5 设置host

其中下面的为master上ssh的私钥(~/.ssh/id_rsa)

centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.6 Host确认

如果失败或者卡住不动可根据日志解决,如果warn根据提示信息解决,直到全部为Success才可以进行下一步。
注:我一般根据/var/log/ambari-server/ambari-server.log 查看ambari的日志,根据里面的异常解决问题,如果没有异常,再查看ambari的其他日志文件。
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.7 选择要安装的服务

如果有依赖其他组件选择ok即可,如安装hive依赖tez,pig等
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.8 设置各个服务Master
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.9 设置Slaves 和 Clientscentos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.10 自定义配置
其中红色的必须要改,大致是设置路径,密码等,如hive要设置hive元数据的数据库信息,我用的master上的mysql
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
测试一下连接centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
没有了红色的即可进行下一步,如遇到warn,可根据提示信息进行修改配置,也可以忽略警告,等装完以后再改。

5.11 review前面的配置
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.12 安装、启动、测试
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
5.13 安装完成
若最后出现警告,可以装完重启所有服务,再检查看看有没有问题,如有警告或启动失败,可根据日志排查原因,一开始安装的的组件较多的话,出现警告的可能性会大一些,所以可以先装几个必要的组件,之后一个一个组件装。

centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
6、HA配置
6.1 NameNode HA配置
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
Service Actions有个HA的配置选项
接下来就是按照提示在指定机器上执行对应的命令

6.1.1 让NAMENODE处于安全模式,并创建CHECKPOINT
sudo su hdfs -l -c ‘hdfs dfsadmin -safemode enter’
sudo su hdfs -l -c ‘hdfs dfsadmin -saveNamespace’

centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
6.1.2 配置组件并初始化JOURNALNODE
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
6.1.3 初始化NAMENODE元数据
注意:
先在NAMENODE ACTIVE节点执行:
SUDO SU HDFS -L -C 'HDFS ZKFC -FORMATZK
然后在NAMENODE STANDBY节点执行:
SUDO SU HDFS -L -C 'HDFS NAMENODE -BOOTSTRAPSTANDBY

centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
NameNode HA配置完成

6.1 YARN HA配置
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
centos7 ambari 2.6.2.0+hdp 2.6.5.0大数据集群安装部署(企业级)
YARN配置完成

上一篇:解决Ambari启用Kerberos认证后NameNode UI 等页面无法打开问题


下一篇:Ambari2.7.4集成Hue4.6.0