部署 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.11centos7.9ambari-server、httpd、mariadb、jdk8、chrony
node2192.168.128.12centos7.9ambari-agent、jdk8、chrony
node3192.168.128.13centos7.9ambari-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 待主机全部验证通过后,就可以安装自己的组件了。

分享到:
本文链接:https://blog.renzicu.com/2023/07/307.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!
THE END
二维码
打赏
文章目录
关闭
目 录