参考文档:https://docs.cloudera.com/HDPDocuments/Ambari/Ambari-2.7.4.0/index.html
无特殊说明,均在主节点操作
在线安装前置步骤(现在有收费墙,需要凭证才能在线安装)
1.下载ambari repository
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
离线安装(需要下载上传好安装包)
- 安装工具包
yum install -y yum-utils createrepo
- 创建http服务,用于本地repo
yum install -y httpd
cd /var/www/html/
mkdir ambari
mkdir hdp
mkdir hdp/HDP-UTILS-1.1.0.22
#解压本地下载好的文件到对应目录
tar -zxvf /data/ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/
tar -zxvf /data/HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf /data/HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/
# 开启
systemctl start httpd
# 自启
systemctl enable httpd
# 查看状态
systemctl status httpd
- 创建本地源
vi /etc/yum.repos.d/ambari.repo
# 原来有就修改,没有就创建,改为下面内容,主要修改URL地址为本地地址
#VERSION_NUMBER=2.7.5.0-72
[ambari-2.7.5.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.5.0
baseurl=http://172.20.11.191/ambari/ambari/centos7/2.7.5.0-72
gpgcheck=1
gpgkey=http://172.20.11.191/ambari/ambari/centos7/2.7.5.0-72/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
vi /etc/yum.repos.d/hdp.repo
# 同上,主要修改正确地址即可
#VERSION_NUMBER=3.1.5.0-152
[HDP-3.1.5.0]
name=HDP Version - HDP-3.1.5.0
baseurl=http://172.20.11.191/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://172.20.11.191/hdp/HDP/centos7/3.1.5.0-152/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://172.20.11.191/hdp/HDP-UTILS-1.1.0.22
gpgcheck=1
gpgkey=http://172.20.11.191/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
- 分发repo文件,生成本地源
# 分发至其他节点
scp /etc/yum.repos.d/ambari.repo IP2:/etc/yum.repos.d
scp /etc/yum.repos.d/ambari.repo IP3:/etc/yum.repos.d
...
scp /etc/yum.repos.d/hdp.repo IP2:/etc/yum.repos.d
scp /etc/yum.repos.d/hdp.repo IP3:/etc/yum.repos.d
...
#生成本地源
createrepo /var/www/html/ambari/ambari/centos7/2.7.5.0-72/
createrepo /var/www/html/hdp/HDP/centos7/
createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.22/
- 检查repo列表
yum repolist
下面的步骤离线与在线通用
4.ambari默认使用postgreSql,我这里换成mysql
# 4.1mysql安装(略),需要的可以查看官方文档,或者我这篇mysql的安装笔记https://blog.csdn.net/github_39319229/article/details/104397699
#进入mysql 添加ambari用户及权限
create user 'ambari' identified by 'ambari';
GRANT all privileges on *.* TO 'ambari'@'%' identified by 'ambari' WITH GRANT OPTION;
GRANT all privileges on *.* TO 'ambari'@'localhost' identified by 'ambari' WITH GRANT OPTION;
GRANT all privileges on *.* TO 'ambari'@'ambari1' identified by 'ambari' WITH GRANT OPTION;
(注意:ambari1为主机名)
flush privileges;
# 添加hive用户
create user 'hive' identified by 'hive';
GRANT all privileges on *.* TO 'hive'@'%' identified by 'hive' WITH GRANT OPTION;
GRANT all privileges on *.* TO 'hive'@'localhost' identified by 'hive' WITH GRANT OPTION;
GRANT all privileges on *.* TO 'hive'@'ambari1' identified by 'hive' WITH GRANT OPTION;
(注意:ambari1为主机名)
flush privileges;
5.1.开始安装
yum install ambari-server -y
5.2. 设置ambari服务
ambari-server setup
#具体按照自己需求配置
# 1. 第一个默认选n
Customize user account for ambari-server daemon [y/n] (n)?
# 2. 第二个选择了自定义JDK 2
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1):2
# 填写JAVA_HOME
Path to JAVA_HOME: /opt/module/jdk1.8.0_241
# 3. 第三步选了默认 n
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)?
#第四步选择数据库选择y,自定义数据库,选择3 mysql,配置地址及账号密码
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
# 配置host 账号密码等, 默认的直接回车
Hostname (localhost): n1.bigdatatest.com
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-enter password:
#出现警告,启动前需要配置jdbc
# WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
# 没有jdbc driver的先新开一个窗口进行jdbc配置
#下载配置jdbc
yum install -y mysql-connector-java
vi /etc/ambari-server/conf/ambari.properties
# 添加下面的配置
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
# 填写jdbc driver地址
Enter full path to custom jdbc driver: /usr/share/java/mysql-connector-java.jar
#继续下一步,出现警告,需要运行sql语句创建ambari数据库
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)?
# 依然是用一个新的窗口进行操作
#进入mysql 创建ambari数据库
mysql -uroot -p
mysql> create database ambari;
mysql> use ambari;
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
# 配置好后默认y继续即可
Proceed with configuring remote database connection properties [y/n] (y)?
# 完成后会提示 Ambari Server 'setup' completed successfully.
6.启动ambari服务
ambari-server start
#启动成功
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start...............................
Server started listening on 8080
DB configs consistency check: no errors and warnings were found.
Ambari Server 'start' completed successfully.
#查看ambari状态
ambari-server status
#停止ambari服务
ambari-server stop
-
访问ambari web管理界面,浏览器输入IP:8080进入管理界面,默认用户名:admin 密码:admin 进入后如下图
-
选择启动安装向导Launch Install Wizard
-
给集群命名,然后next下一步
-
选择HDP版本
# 如果是在线 url
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.2.14/hdp.repo
如果本地安装,填写对应本地源地址。就是开始配置的,例如我配置的
http://172.20.11.191/hdp/HDP/centos7
http://172.20.11.191/hdp/HDP-UTILS-1.1.0.22
- 配置集群主机名及私钥(主节点的即可),进入下一步等待安装
12. 等待验证完成后点击下一步。有异常或者错误,解决问题后再重新验证。步骤完善的话一般不会有异常。
13. 勾选需要安装的服务,可以后面需要时再安装,我这里只先安装一个hdfs为例子
会提示有一些组件也必须要安装,点击确定即可
14. 分配节点服务
按自己实际资源情况进行勾选
15. 下一步,一些自定义的配置,没有特殊需求需要调整的话。一直下一步即可
16. 等待安装服务和检测。安装会比较慢,在线安装有可能超时,多重试几次。有错误根据日志解决错误再重试
17.可能的安装报错
ERROR 2019-12-08 18:37:04,279 NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:618)
ERROR 2019-12-08 18:37:04,279 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
#忘记安装openssl
#python SSL验证设置
# ① 查看 openssl 版本:
[root@ambari ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@ambari ~]# rpm -qa | grep openssl
openssl-libs-1.0.2k-12.el7.x86_64
openssl-1.0.2k-12.el7.x86_64
# 如果低于 openssl-1.0.1e-16.el6.x86_64 版本,则需要更新到 openssl-1.0.1e-16.el6.x86_64 及以上版本
② 查看 Python 版本:
[root@ambari ~]# python -V
Python 2.7.5
#如果低于 Python 2.7 版本,则升级 Python 到 2.7 及以上版本。
# 编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用:(所有节点)
[root@ambari ~]# vi /etc/python/cert-verification.cfg
# Possible values are:
# 'enable' to ensure HTTPS certificate verification is enabled by default
# 'disable' to ensure HTTPS certificate verification is disabled by default
# 'platform_default' to delegate the decision to the redistributor providing this particular Python version
# For more info refer to https://www.python.org/dev/peps/pep-0493/
[https]
verify=disable
# 保存退出。
# ④ 编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置如下两个值,其它值保持不变:(所有节点)
[root@ambari ~]# vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
ssl_verify_cert=0
force_https_protocol=PROTOCOL_TLSv1_2
# 保存退出,重启 ambari-agent:
[root@ambari ~]# ambari-agent restart
# 重新执行确认主机步骤(Confirm Hosts),即可通过确认主机并完成注册。