HiDataPlus使用Apache Ambari安装HDP3.3.2
一、HiDataPlus
HidataPlus是由几个热爱开源软件的成员组成,因为Hortonworks和Cloudera合并等原因,原有的HDP版本不再更新,于是进行了集成新的版本。版本不仅支持x86,也支持aarch64(arm服务器)
官网:http://www.hdp.link/
这里选择HDP3.3.2.0-013版本,切勿使用实验版本:

二、基础环境配置
2.1.常用命令安装
ARM架构换源
cd /etc/yum.repos.d/
rm -f *.repo
2. 创建华为云 AltArch 源 (关键步骤)
注意:这里去掉了 7.9.2009 子目录,直接使用 7/os/aarch64。华为云的 altarch 目录通常维护着 ARM 架构的最新归档状态。
cat > /etc/yum.repos.d/CentOS-AltArch-Huawei.repo << 'EOF' [base] name=CentOS-7 - Base - Huawei AltArch baseurl=https://repo.huaweicloud.com/centos-altarch/7/os/aarch64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [updates] name=CentOS-7 - Updates - Huawei AltArch baseurl=https://repo.huaweicloud.com/centos-altarch/7/updates/aarch64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [extras] name=CentOS-7 - Extras - Huawei AltArch baseurl=https://repo.huaweicloud.com/centos-altarch/7/extras/aarch64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [centosplus] name=CentOS-7 - Plus - Huawei AltArch baseurl=https://repo.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=0 EOF
3. 测试连接
yum clean all
yum makecache
关闭 GPG 检查
sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/CentOS-AltArch-Huawei.repo
安装常用命令
yum install open-vm-tools bash-completion lrzsz tree vim wget net-tools -y
2.2.设置克隆的多台 Linux 虚拟机
对三台虚拟机完成主机名、固定 IP 、 SSH 免密登陆等系统设置
2.2.1.配置固定 IP 地址
开启 主机,修改主机名为 hdp01.zhyi.com,并修改固定 ip 为: 10.211.55.10
# 修改主机名 hostnamectl set-hostname hdp01.zhyi.com # 修改IP地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33 将BOOTPROTO的属性值改为static, IPADDR=192.168.161.131 GATEWAY=192.168.161.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 # 重启网卡 service network stop service network start # 或者直接重启 service network restart
同样的操作启动 node2 和 node3,
- 修改 node2 主机名为 hdp02.zhyi.com,设置 ip 为 10.211.55.11
- 修改 node2 主机名为 hdp03.zhiyi.com ,设置 ip 为 10.211.55.12
2.2.2.配置主机名映射
在 3 台 Linux 的 /etc/hosts 文件中,填入如下内容( 3 台都要添加)
10.211.55.10 hdp01.zhyi.com 10.211.55.11 hdp02.zhyi.com 10.211.55.12 hdp03.zhyi.com
2.2.3.配置 SSH 免密登录
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台 Linux 服务器之间的免密码互相 SSH 登陆
⑴.在每一台机器都执行: ssh-keygen -t rsa -b 4096 ,一路回车到底即可
# 查看生成的秘钥
cd .ssh
⑵.在每一台机器都执行
ssh-copy-id hdp01.zhyi.com ssh-copy-id hdp02.zhyi.com ssh-copy-id hdp03.zhyi.com
上面会要求设置密码,设置为123456就可以了
⑶.执行完毕后, hdp01.zhyi.com、hdp02.zhyi.com、hdp03.zhyi.com之间将完成 root 用户之间的免密互通
# 在hdp01.zhyi.com中免密登录hdp02.zhyi.com
ssh hdp02.zhyi.com
2.3.关闭防火墙
三台服务器均执行
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
2.4.关闭SELINUX
三台服务器均执行
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
2.5.同步系统时间
修改时区并配置自动时间同步,以下操作在三台 Linux 均执行
Ambari 需要服务器上运行chronyd 服务,在 3 台主机上都需要运行,chronyd 是 CentOS 7 系统的时钟同步服务(替代传统的 ntpd),Ambari 要求所有节点时钟同步,否则会引发服务部署 / 运行异常(比如 Kerberos 认证失败、日志时间错乱等)。
步骤 1:在每台主机上执行以下命令(批量执行可用 ansible,或逐台操作)
# 1. 安装 chrony(确保包存在) yum install -y chrony # 2. 修改配置文件(使用国内时钟源,提高同步稳定性) cp /etc/chrony.conf /etc/chrony.conf.bak # 备份原有配置 cat > /etc/chrony.conf << 'EOF' # 使用国内阿里云时钟源 server ntp.aliyun.com iburst server time1.aliyun.com iburst server time2.aliyun.com iburst # 允许本地网络同步(可选,若集群内有时间服务器) allow 10.0.0.0/8 allow 192.168.0.0/16 allow 172.16.0.0/12 # 本地时钟作为备用(当外网不可用时) local stratum 10 # 日志和存储路径 driftfile /var/lib/chrony/drift logdir /var/log/chrony log measurements statistics tracking EOF # 3. 启动并设置开机自启 systemctl start chronyd systemctl enable chronyd # 4. 验证服务状态(确保显示 active (running)) systemctl status chronyd # 5. 手动同步时钟(立即生效) chronyc -a makestep
步骤 2:验证时钟同步效果
# 查看当前主机时间 date # (可选)检查 chrony 同步状态 chronyc sources -v # 跨主机验证(替换为另外两台主机的IP) ssh 10.211.55.11 "date" ssh 10.211.55.12 "date"
步骤3:修改时区为中国上海时间
# 1. 删除旧的时区链接 rm -f /etc/localtime # 2. 创建指向上海时区的新链接 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 3. (可选) 写入时区配置文件,防止重启后失效 echo "ZONE=Asia/Shanghai" > /etc/sysconfig/clock # 4. 再次强制同步时间 chronyc -a makestep # 5. 验证时间(现在应该显示 CST) date
注意时区不对,步骤2中同步后验证时间也是不对的。
2.6.JDK安装(每台均需安装)
由于我这里的版本是3.3.2.0,所以使用JDK8,同时由于当前使用macbook 的虚拟机安装CPU是M3所以使用毕昇JDK17 AArch64 版本,下载地址:https://www.hikunpeng.com/zh/developer/devkit/download/gcc

下载jdk:

2.6.1.安装命令:
sudo mkdir -p /usr/java tar -zxvf bisheng-jdk-8u472-b11-linux-aarch64.tar.gz -C /usr/java/ vim /etc/profile # 添加内容 export JAVA_HOME=/usr/java/bisheng-jdk1.8.0_472 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin # source让修改生效 source /etc/profile
2.6.2.设置软连接
Ambari 对 /usr/jdk64 目录的结构有非常严格的要求。它不仅仅要求 /usr/jdk64 存在,通常还期望在这个目录下有一个名为 jdk 的子目录,或者该目录本身必须完全符合特定结构(包含 bin, lib, jre 等直接可见)。
/usr/jdk64/jdk 指向你的实际 JDK。第1步:清理旧的软链接
rm -rf /usr/jdk64
第2步:创建标准目录结构
/usr/jdk64 目录,并在其中创建一个名为 jdk 的软链接指向你的毕昇 JDK:# 1. 创建主目录 mkdir -p /usr/jdk64 # 2. 创建软链接:/usr/jdk64/jdk -> 你的实际 JDK 路径 ln -s /usr/java/bisheng-jdk1.8.0_472 /usr/jdk64/jdk
第3步:验证结构
/usr/jdk64/jdk/bin/java 找到 Java。# 查看目录结构 ls -l /usr/jdk64/ # 输出应该显示:jdk -> /usr/java/bisheng-jdk1.8.0_472 # 验证 java 是否可访问 ls -l /usr/jdk64/jdk/bin/java # 输出应该显示 java 可执行文件的详细信息
2.7.安装httpd服务(每台均需安装)
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
systemctl enable httpd.service
三、Ambari、HDP安装
3.1.上传解压
在hdp01.zhyi.com上,将tar包解压,只需要在一台服务器解压即可。
# 创建目录,用户保存解压的安装部 mkdir /var/www/html/ambari mkdir /var/www/html/HDP mkdir /var/www/html/HDP-UTILS mkdir /var/www/html/HDP-GPL # 解压到指定目录, 注意HDP-UTILS的包下的目录层级可能有所不同 tar -zxvf ambari-2.7.8.0-213-redhat7-aarch64.tar.gz -C /var/www/html/ambari/ tar -zxvf HDP-3.3.2.0-013-redhat789-aarch64.tar.gz -C /var/www/html/HDP tar -zxvf HDP-UTILS-1.1.0.22-redhat789-aarch64.tar.gz -C /var/www/html/HDP-UTILS/ tar -zxvf HDP-GPL-3.3.2.0-013-redhat789-aarch64.tar.gz -C /var/www/html/HDP-GPL/ cd /var/www/html/ chmod -R 755 /var/www/html/ambari/ chmod -R 755 /var/www/html/HDP/ chmod -R 755 /var/www/html/HDP-UTILS/ chmod -R 755 /var/www/html/HDP-GPL/
3.2.编辑repo源
repo文件需要每台服务器都有
# 进入到目录 cd /etc/yum.repos.d/ # 创建文件ambari.repo vim ambari.repo # 添加内容 [Ambari] name=ambari baseurl=http://hdp01.zhyi.com/ambari/2.7.8.0-213 gpgcheck=0 # 创建文件hdp.repo vim hdp.repo # 添加内容 [HDP-3.3] name=HDP-3.3 baseurl=http://hdp01.zhyi.com/HDP/3.3.2.0-013 gpgcheck=0 [HDP-UTILS-1.1.0.22] name=HDP-UTILS-1.1.0.22 baseurl=http://hdp01.zhyi.com/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22 gpgcheck=0 # 所有节点均需执行 yum clean all && yum repolist
注意:上面baseurl中node1指的是当前主机名,根据自己的主机名替换即可
将node1中创建的两个repo文件发送到hdp02.zhyi.com、hdp03.zhyi.com
scp ambari.repo hdp.repo hdp02.zhyi.com:/etc/yum.repos.d
scp ambari.repo hdp.repo hdp03.zhyi.com:/etc/yum.repos.d
3.3.安装MySQL
3.3.1.安装MySQL
MySQL用于存储Ambari元数据,安装MySQL8参考:https://www.cnblogs.com/auguse/articles/13324110.html,如果下载找不到源地址:
# 1. 下载最新的 MySQL 8.0 源配置包 wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm # 2. 如果下载成功,安装它 yum localinstall -y mysql80-community-release-el7-11.noarch.rpm # 3. 如果上面那个下载失败,尝试 MySQL 5.7 (Ambari 更常用) # wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
3.3.2.上传MySQL驱动
MySQL驱动jar下载地址:https://mirrors.aliyun.com/mysql/Connector-J/?spm=a2c6h.25603864.0.0.17ec2ca85C2DpZ
第 1 步:删除文件”
# 先确认它确实是个文件 ls -ld /usr/share/java # 强制删除这个错误的文件 rm -f /usr/share/java
第 2 步:创建正确的目录
mkdir -p /usr/share/java
第 3 步:验证目录已创建
ls -ld /usr/share/java
drwxr-xr-x (d 代表 directory),而不是 -rw-r--r--。第 4 步:重新复制 Jar 包
cp /opt/mysql-connector-java-8.0.29.jar /usr/share/java/
3.3.3.创建 ambari 账号及数据库
# 使用 root 登录 mysql # 执行以下操作 CREATE DATABASE ambari DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; create user 'ambari'@'%' identified by '123456'; grant all privileges on ambari.* to 'ambari'@'%' with grant option; flush privileges; # 如果部署 hive,hue 等其他服务,请创建相应的用户及数据库 # mysql8 修改密码 alter user 'ambari'@'%' identified by 'sunhola123';
3.4.安装ambari-server
3.4.1.异常解决(集群集群均需要安装)
安装软件包,如过能正常安装,不需要关注后续
# yum 安装 ambari-server
yum install ambari-server -y

如果出现下载安装报错:提示服务器上的 repodata/primary.xml.gz 文件中记录的 ambari-server.rpm 的 SHA256 校验和或文件大小,与当前硬盘上 /var/www/html/ambari/2.7.8.0-213/ambari/ambari-server-2.7.8.0-213.aarch64.rpm 这个实际文件不匹配。
hd-01 上依次执行以下命令,强制重新生成元数据,让校验和与实际文件匹配(必须在 hd-01 源服务器上执行):- 1. 进入 Ambari 源根目录
cd /var/www/html/ambari/2.7.8.0-213
- 2. 确认 createrepo 工具已安装
yum install -y createrepo
- 3. 【关键步骤】重新生成 repodata
ambari/ 子目录里的),并更新 repodata 中的校验和。createrepo --update .
. 代表当前目录。执行过程可能需要几秒钟。- 4. 验证生成结果
repodata 的时间戳是否变成了当前时间:ls -lht repodata/
primary.xml.gz, filelists.xml.gz 等文件的时间是刚刚更新的。- 5. (可选但推荐) 检查 HDP 和 HDP-UTILS
# 修复 HDP (请先 cd 到 HDP 的根目录,即包含 repodata 的那一层) # 假设您的 HDP 路径类似下面这个,请根据实际 find 的结果调整 cd /var/www/html/HDP/HDP/centos7/3.3.2.0-013 createrepo --update . # 修复 HDP-UTILS cd /var/www/html/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22 createrepo --update .
- 6. 客户端清理缓存并重试
yum install 的终端(或者是其他节点),执行:# 必须彻底清理旧缓存 yum clean all rm -rf /var/cache/yum/* # 重新拉取元数据 yum makecache # 再次安装 yum install ambari-server -y
3.4.2.配置 Ambari Server
# 对 ambari-server 进行配置
ambari-server setup


主要配置内容回顾:
- 是否使用 root 用户:选择使用(默认或输入
y)。 - 配置 JDK:选择
2(Custom JDK),然后输入你的JAVA_HOME路径(例如:/usr/java/bisheng-jdk1.8.0_472)。 - 是否下载 GPL 协议:选择
n。 - 配置数据库:根据提示输入(选择自定义数据库 MySQL,输入主机名、端口、库名、用户名、密码等)。
- 选择 JDBC 驱动:由于前面已经手动修改/放置了驱动,此处通常输入
yes确认或直接回车。 - 确认数据库配置:确认无误。
3.5.初始化数据库
配置结束后,需要手动登录 MySQL 执行建表脚本:
# 结束后使用 ambari 用户登录 mysql mysql -u ambari -p # (输入之前设置的 ambari 用户密码)
# 登录后执行以下命令导入表结构
use ambari; source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
3.6.启动ambari-server
# 启动服务 ambari-server start # 查看启动状态 ambari-server status # 查看服务日志,最终启动成功即可,个别会有报错,但是报错不影响服务不用理会,如果影响服务则不行 tail -f /var/log/ambari-server/ambari-server.log
启动后,在浏览器访问:http://10.211.55.6:8080/#/login
四、HiDataPlus(HDP)安装
同Hortonwork的HDP发行版类似,HiDataPlus(HDP)使用Ambari UI进行安装。安装过程可参考如下:
输入集群名称–>NEXT

选择HDP的版本,这里使用的是HDP-3.3版本
选择操作系统(因为使用的CentOS7,所以选择redhat7)并且指定HDP和HDP-UTILS的rpm的URL。

输入节点主机名列表
# 获取主机私钥文件
cat /root/.ssh/id_rsa
私钥文件下载到本地上传选择“CHOOSE FILE”,直接复制可能 报错,所以选择文件稳妥一点。
会检查出问题,没有问题直接NEXT即可:
选择要安装的组件(按需选择,不用参考下图)千万别一下子都选了, 选太多容易崩。

选择每个节点具体安装的组件(测试的话,自动默认就行,生产安装,需要做节点规划)

点击all,让每一个组件在所有节点都参与存储和计算

- 批量设置集群中各个组件的管理员密码和数据库连接密码。

配置hive数据库,测试通过
在MySQL中创建hive用户,用户创建hive元数据
# 1:先创建 hive 用户(设置密码)创建用户(允许所有主机访问) CREATE USER IF NOT EXISTS 'hive'@'%' IDENTIFIED BY 'qqweasd123456'; # 2. 创建 hive 数据库(字符集必须为 UTF-8,避免中文乱码) CREATE DATABASE IF NOT EXISTS hive DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 2:给该用户授权 hive 库的所有权限 授权(注意:% 表示允许所有主机访问,生产环境建议替换为具体IP) GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%'; # 5.刷新权限使配置生效 FLUSH PRIVILEGES; # 6.验证数据库是否存在 SHOW DATABASES; # 输出列表中应能看到 hive 库
有可能会出现MySQL驱动加载不对,注册驱动
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-8.0.29.jar
不重启驱动不会生效。等待约 1-2 分钟直到服务完全启动。
ambari-server restart

ranger设置

下面使用root账户,直接可以自动创建上面的数据库和用户信息

Ranger KMS

测试通过,点击next

存储路径修改,根据需求自行修改,一般日志和数据存储选择数据盘

组件参数修改
根据资源大小自行修改,像NameNode ,HBase Master ,默认都是1G ,根据生产环境资源情况自行修改。

根据右侧的提示设置

点击下一步

点击DEPLOY

安装完成, 如果出现黄色则代表某些组件启动失败,没关系后续手动一个一个组件启动,遇到问题再解决。






浙公网安备 33010602011771号