目录
一、基本环境 准备
1.1、系统环境说明
1.2、基本配置
1.主机名映射的修改
2.关闭防火墙
3. 关闭SELINUX
4.关闭Linux的THP服务
5. SSH免密登录
6.时钟同步
7.配置最大打开文件数最大进程数等操作系统限制
8.安装JDK
9.安装httpd服务
10. 数据盘格式挂载
11.MySQL 数据库安装
二、Ambari制作本地的yum 源
2.1、配置repo文件
三、Ambari 安装
3.1、 使用Ambari自带脚本创建表
3.2、 ambari-server setup 具体步骤
四、HDP安装
4.1、登入ambari开始launch集群
4.2 组件的添加
1、选择 Services
2、根据需求继续添加就可以,跟前面的安装是一样的
4.3、高可用配置
环境:阿里云内网服务器
Ambari 离线下载:
https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/ambari_repositories.html
下载地址:https://docs.cloudera.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/hdp_31_repositories.html
MySQL 安装参考(绕过坑):https://blog.csdn.net/qq_35995514/article/details/106175801
说明:阿里云 内网 服务器,使用跳板机 登录,安装包 放在跳板机 ,上传文件很大使用WinSCP, 平时 练手的可以使用虚拟机也是 OK 的
配置:
10.174.96.212 root 8核32G 40G(系统盘) + 2T(数据盘) hdp02
10.168.138.188 root 8核32G 20G (系统盘)+ 500G(数据盘) hdp01
这块安装可以参考: Apache Ambari-2.7.3+Centos7离线安装
https://blog.csdn.net/Happy_Sunshine_Boy/article/details/86595945
官网版本核对Ambari 对应的 系统,数据库,JDK一定要正确
https://docs.cloudera.com/HDPDocuments/
版本选择
组件 | 描述 |
操作系统 | CentOS7.3 |
Ambari | 2.7.4 |
HDP | 3.1.4.0 |
HDP-GPL | 3.1.4.0 |
HDP-UTILS | 1.1.0.22 |
MySQL | 5.7.19 |
OracleJDK | 1.8.0_252 |
X86 | X86-64 |
说明:基本的配置两台机器都要做,MySQL 安装在 ambari-server 的那台 10.168.138.188
vim /etc/sysconfig/network
vim /etc/hosts
hostnamectl set-hostname 执行 此设置,重新打开 Xhell会话
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
systemctl enable firewalld
如果不关闭transparent_hugepage,HDFS会因为这个性能严重受影响。
关闭transparent_hugepage方法是:
[root@hdp02 ~]# vim /etc/grub.conf
添加 transparent_hugepage=never
[root@hdp02 ~]# vim /etc/rc.local 添加:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
生成公钥和私钥
ssh-keygen -t rsa
命令,一路回车就OK
以ssh-copy-id命令拷贝秘钥实现免密码登录
ssh-copy-id -i /root/.ssh/id_rsa.pub hdp02
安装ntp客户端
使用netpdate -u同步时间, 10.168.138.188 是一个自建的时间服务器(也可以指定任何一个时间服务器)
yum -y install chrony
systemctl start chronyd
配置开机启动
systemctl enable chronyd.service
时钟同步两种方式参考文档https://blog.csdn.net/weixin_42758707/article/details/94738761
ntp:将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1ms,在互联网上绝大多数的地方精度可以达到1-50ms,项目官网:http://www.ntp.org
chrony:通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度
vim /etc/security/limits.conf
* - nofile 409600
* - nproc 63535
root - nofile 409600
root - nproc 63535
export JAVA_HOME=/usr/java/jdk1.8.0_251
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
查看版本是否正确
执行 yum -y install mysql-connector-java* 安装 ambari-server 会用到。
查看路径是否正确
echo $JAVA_HOME
echo $JRE_HOME
echo $CLASSPATH
echo $PATH
yum -y install httpd;
systemctl start httpd.service
systemctl enable httpd.service #开机启动
systemctl status httpd.service #状态查看
说明:阿里云的数据盘具体的操作可以参考博客:https://blog.csdn.net/qq_35995514/article/details/106229387
跟挂载普通的磁盘差不多
官网下载地址,版本可以自己决定,符合Ambari要求就行:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
详细的操作和安装出现的问题可以参考博客(5.7.19):https://blog.csdn.net/qq_35995514/article/details/106175801
踩过的坑都已经解决,
[root@hdp01 mysql]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):
[ OK ]
[root@hdp01 mysql]#
[root@hdp01 mysql]# cat /var/log/mysqld.log | grep password
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=8;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user 'root'@'localhost' identified by 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'L1234567' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
mysql> create database ambari character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'ambari'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>
创建hive 元数据库
mysql> create database hive character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'hive'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
创建 ranger数据库(安全组件)
mysql> create database ranger character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'ranger'@'%' IDENTIFIED BY 'L1234567';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
将 4个 tar 文件解压到 /data 文件并解压
本次安装需要配置三个repo文件,分别是 ambari.repo, hdp.repo ,hdp-gpl.repo,具体步骤如下
cd /var/www/html/
ln -s /data/ambari ./ambari
ln -s /data/HDP ./HDP
ln -s /data/HDP-GPL ./HDP-GPL
ln -s /data/HDP-UTILS ./HDP-UTILS
将默认的 repo 文件复制到 /etc/yum.repos.d/ 路径下 进行修改
cp /data/ambari/centos7/2.7.4.0-118/ambari.repo /etc/yum.repos.d/
cp /data/HDP/centos7/3.1.4.0-315/hdp.repo /etc/yum.repos.d/
cp /data/HDP-GPL/centos7/3.1.4.0-315/hdp.gpl.repo /etc/yum.repos.d/
1. Ambari.repo
[root@hdp01 yum.repos.d]# cat ambari.repo
#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.4.0
baseurl=http://hdp01/ambari/centos7/2.7.4.0-118
gpgcheck=1
gpgkey=http://hdp01/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
2. hdp.repo
[root@hdp01 yum.repos.d]# cat hdp.repo
#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://hdp01/HDP/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://hdp01/HDP/centos7/3.1.4.0-315/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://hdp01/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://hdp01/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3. hdp.gp1.repo
[root@hdp01 yum.repos.d]# cat hdp.gpl.repo
#VERSION_NUMBER=3.1.4.0-315
[HDP-GPL-3.1.4.0]
name=HDP-GPL Version - HDP-GPL-3.1.4.0
baseurl=http://hdp01/HDP-GPL/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://hdp01/HDP-GPL/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
查看Ambari 与 HDP 资源的资源库
[root@hdp01 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
HDP-3.1-GPL-repo-1 HDP-3.1-GPL-repo-1 4
HDP-3.1-repo-1 HDP-3.1-repo-1 201
!HDP-3.1.4.0 HDP Version - HDP-3.1.4.0 201
!HDP-GPL-3.1.4.0 HDP-GPL Version - HDP-GPL-3.1.4.0 4
!HDP-UTILS-1.1.0.22 HDP-UTILS Version - HDP-UTILS-1.1.0.22 16
HDP-UTILS-1.1.0.22-repo-1 HDP-UTILS-1.1.0.22-repo-1 16
ambari-2.7.4.0 ambari Version - ambari-2.7.4.0 13
!base/7/x86_64 CentOS-7 - Base 10,070
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,277
!extras/7/x86_64 CentOS-7 - Extras 397
!updates/7/x86_64 CentOS-7 - Updates 671
repolist: 24,870
将配置好的 repo 文件,scp 到其他的节点
使用 yum -y install mysql-connector-java* 会在 /usr/share/java 下有这个 jar, 只需查看 jar 存在就可以
mysql >use ambari;
mysql>source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
根据自己的 JAVA_HOME 进行配置就可以
设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车
显式 如上的 Ambari Server 'setup' completed successfully 就表示 setup 成功。
url: 10.168.138.188:8080
name: admin
passwd: admin
说明:之后将ambari-server 安装在了10.168.138.188 机器上,安装过程是一样的,安装失败后,我重新选择了更多的组件。
1. 点击launch install wizard
2. 填写主机映射,repo 源地址baseurl
http://10.168.138.188/HDP/centos7/3.1.4.0-315
http://10.168.138.188/HDP-GPL/centos7/3.1.4.0-315
http://10.168.138.188/HDP-UTILS/centos7/1.1.0.22
3.免密私钥
cat /root/.ssh/id_rsa
可以复制 cat /root/.ssh/id_rsa 也可以保存为文件方便选择
4. 确认所有主机注册成功且检查通过
此处要保证所以的警告信息一个没有,要不然后面安装,启动可能报错,切记!切记!切记
5. 选择要安装的组件
6.根据服务器的性能和角色分配和调整每个节点要运行的服务
7.分配主服务
8. 输入所有服务的用户名密码,输入之前创建的hive用户名密码,确认test ok
如果 选择了 ranger 也要 配置ranger的数据库
9. 确认每个组件的数据目录,结合磁盘挂载情况确定,以及各个组件的日志存放目录,请勿配置在系统目录下。
10.确认每组件的参数配置,参数配置是ambari安装过程中系统自适应的配置,一般不需要调整,如果需要调整也可以调整
11. 下一步点击deploy
当然了,这一步可能出错,
Dashboard
说明:由于我只有两台机器,所以配置不了高可用只能简单说明。
1、 HDFS高可用
后面的操作差不多,大家有条件的话,可以参考其他优秀的博客
参考的博客:
阿里云服务器搭建及安装Ambari环境 https://blog.csdn.net/L_x_4/article/details/103742753
Linux格式化数据盘(阿里云数据盘) https://blog.csdn.net/qq_35995514/article/details/106229387
linux 安装 MySQL5.7.19 https://blog.csdn.net/qq_35995514/article/details/106175801
Apache Ambari-2.7.3+Centos7离线安装 https://blog.csdn.net/Happy_Sunshine_Boy/article/details/86595945