部署 Hadoop 管理工具 Ambari 2.7.5 + HDP3.1.5
Apache Ambari 是一款旨在通过 WebUI 来简化,创建、管理、监控 Hadoop 集群的工具,曾是 5 个顶级的 hadoop 管理工具之一。Ambari 支持大多数 Hadoop 组件,包括 HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop 和 Hcatalog 等。
下载资源包
链接: https://pan.baidu.com/s/1Fk8sHQukhoIlhz5TnmGEvQ 提取码: wv7g
集群环境规划
注:centos8.3 安装未成功,一定要使用 8 以下系统,否则提示如下(即使安装了 >= python2.6 版本),应该是与编译的依赖包有关,动手能力强的小伙伴可以考虑下载源码自行编译。
- nothing provides python >= 2.6 needed by ambari-server-2.7.5.0-72.x86_64
主机名 | ip 地址 | 系统 | 服务分配 |
---|---|---|---|
node1(主节点) | 192.168.128.11 | centos7.9 | ambari-server、httpd、mariadb、jdk8、chrony |
node2 | 192.168.128.12 | centos7.9 | ambari-agent、jdk8、chrony |
node3 | 192.168.128.13 | centos7.9 | ambari-agent、jdk8、chrony |
一、集群环境准备
1.1 修改主机名
所有机器都需要执行
# 设置主机名,建议采用 FQDN 命名法
hostnamectl set-hostname node1
# 修改 hosts 文件
vim /etc/hosts
# 添加主机映射
192.168.128.11 node1
192.168.128.12 node2
192.168.128.13 node3
1.2 关闭防火墙、selinux
所有机器都需要执行
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙开机自启
systemctl disable firewalld
# 通过此命令查看防火墙状态
systemctl status firewalld
vim /etc/sysconfig/selinux
# 修改
SELINUX=disabled
# 需要重启机器,否则后续 httpd 请求yum源时会报403
reboot
1.3 SSH 免密登录
所有机器都需要执行
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub node1
ssh-copy-id -i /root/.ssh/id_rsa.pub node2
ssh-copy-id -i /root/.ssh/id_rsa.pub node3
1.4 时间同步 chrony
1.4.1 将 node1
做为时间服务器
# chrony 在 centos8 上已内置,如果是以下版本执行 yum install -y chrony 进行安装
# 修改配置文件
vim /etc/chrony.conf
# 设置允许 node2 和 node3 机器可以从这台机器上查询和同步时间
allow 192.168.0.0/16
1.4.2 在 node2、node3 同步 node1 上的时间
# 修改配置文件
vim /etc/chrony.conf
# 注释
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
# 添加同步源 server 192.168.128.11 iburst
server node1 iburst
1.4.3 启动服务并设置开机启动(所有机器上执行)
# 设置启动并开机自启
systemctl restart chronyd && systemctl enable chronyd
# 查看状态
systemctl status chronyd
# 查看同步服务器
chronyc sources -v
# 执行一次同步
chronyc -a makeste
1.5 安装 httpd 服务
在 node1 上执行(做为 http 服务器)
# 安装服务
yum -y install httpd
# 启动服务并开机自启
systemctl start httpd && systemctl enable httpd
1.6 配置 yum 源
1.6.1 将下载的文件上传主机 node1 临时目录 /root/ambari
# 切换到临时目录
cd /root/ambari
# 创建/var/www/html目录存放文件
mkdir -p /var/www/html/libtirpc
mkdir -p /var/www/html/hdp
mkdir -p /usr/share/java
# 解压文件到指定目录
tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/
tar -zxvf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/hdp/
mv libtirpc-* /var/www/html/libtirpc/
# 提前准备 MySQL JDBC 驱动程序
tar -zxvf mysql-connector-java-5.1.40.tar.gz
mv mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar
# 删除临时目录
rm -rf /root/ambari
# 更改所属用户组
cd /var/www/html/hdp && chown -R root:root HDP HDP-GPL HDP-UTILS
# 安装创建源所需工具
yum -y install createrepo
1.6.2 配置 ambari.repo 本地源
vim /etc/yum.repos.d/ambari.repo
# 添加如下内容
[Ambari-2.7.5.0]
name=Ambari-2.7.5.0
baseurl=http://node1/ambari/centos7/2.7.5.0-72/
gpgcheck=0
enabled=1
priority=1
1.6.3 配置 hdp、hdp-utils 本地源
vim /etc/yum.repos.d/hdp.repo
# 添加如下内容
[HDP-3.1.5.0]
name=HDP Version - HDP-3.1.5.0
baseurl=http://node1/hdp/HDP/centos7/3.1.5.0-152/
gpgcheck=0
enabled=1
priority=1
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://node1/hdp/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
enabled=1
priority=1
[HDP-GPL-3.1.5.0]
name=HDP-GPL Version - HDP-GPL-3.1.5.0
baseurl=http://node1/hdp/HDP-GPL/centos7/3.1.5.0-152
gpgcheck=0
enabled=1
priority=1
1.6.4 配置 libtirpc.repo 本地源
vim /etc/yum.repos.d/libtirpc.repo
# 添加如下内容
[libtirpc_repo]
name=libtirpc-0.2.4-0.16
baseurl=http://node1/libtirpc/
gpgcheck=0
enabled=1
priority=1
# 创建yum源,自动生成一个repodata目录
createrepo /var/www/html/libtirpc/
1.6.5 复制源文件到其它机器,并查看源
scp /etc/yum.repos.d/{ambari,hdp,libtirpc}.repo node2:/etc/yum.repos.d/
scp /etc/yum.repos.d/{ambari,hdp,libtirpc}.repo node3:/etc/yum.repos.d/
# 查看源
yum clean all
yum repolist
1.7 安装 jdk8
jdk下载地址:https://www.injdk.cn/
在所有机器上执行
# 下载文件
cd /root && curl -O https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.tar.gz
# 解压移动到指定目录
tar -zxvf jdk-8u341-linux-x64.tar.gz
mkdir /usr/local/java
mv jdk1.8.0_341/* /usr/local/java
# 删除临时文件
rm -rf jdk*
# 修改配置文件
vim /root/.bashrc
# 添加内容
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
# 使配置文件立即生效
source /root/.bashrc
java -version
1.8 安装 mariadb
在 node1 上执行
yum install mariadb-server -y
# 设置开机自启
systemctl enable mariadb && systemctl start mariadb
# 初始化并设置密码
/usr/bin/mysql_secure_installation
# 修改配置文件,支持存储函数
vim /etc/my.cnf
# 添加如下内容
[mysqld]
log_bin_trust_function_creators = 1
# 重启服务
systemctl restart mariadb
二、部署 Ambari
2.1 安装 Ambari-server
在 node1 上执行
# 安装
yum -y install ambari-server
# 初始化安装配置
ambari-server setup
数据库文件导入
# 登录 mariadb 创建 ambari 安装所需要的库
mysql -uroot -p123456
CREATE DATABASE ambari;
use ambari;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
# 导入sql文件
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
show tables;
# 刷新权限
FLUSH PRIVILEGES;
2.2 安装 Ambari-agent
所有机器上执行
# 安装
yum -y install ambari-agent
# 开机启动
systemctl start ambari-agent && systemctl enable ambari-agent
# 安装 libtirpc-devel
yum -y install libtirpc-devel
2.3 启动运行
ambari-server start
访问管理页面:http://192.168.128.11:8080,默认账号密码:admin/admin
2.3.1 配置本地yum源
-> 选择 Launch Install Wizard -> 配置集群名称 -> 选择版本并修改本地源地址
-> 选 HDP-3.1 (Default Version Definition) -> Use Local Repository -> redhat7
HDP-3.1:http://node1/hdp/HDP/centos7/3.1.5.0-152/
HDP-3.1-GPL: http://node1/hdp/HDP-GPL/centos7/3.1.5.0-152/
HDP-UTILS-1.1.0.22: http://node1/hdp/HDP-UTILS/centos7/1.1.0.22/
2.3.2 配置节点和密钥
查看 node1 节点文件cat /root/.ssh/id_rsa
复制完整内容到密钥框!点击下一步,进入确认主机界面
2.3.3 待主机全部验证通过后,就可以安装自己的组件了。
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论