HiDataPlus部署
一、HiDataPlus
HidataPlus是由几个热爱开源软件的成员组成,因为Hortonworks和Cloudera合并等原因,原有的HDP版本不再更新,于是进行了集成新的版本。版本不仅支持x86,也支持aarch64(arm服务器)
官网:http://www.hdp.link/
二、基础环境配置
2.1.常用命令安装
yum install open-vm-tools bash-completion lrzsz tree vim wget net-tools -y
2.2.设置克隆的多台 Linux 虚拟机
对三台虚拟机完成主机名、固定 IP 、 SSH 免密登陆等系统设置
2.2.1.配置固定 IP 地址
开启 node1 ,修改主机名为 node1 ,并修改固定 ip 为: 10.211.55.6
# 修改主机名 hostnamectl set-hostname node1 # 修改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 主机名为 node2 ,设置 ip 为 10.211.55.7
- 修改 node2 主机名为 node3 ,设置 ip 为 10.211.55.8
2.2.2.配置主机名映射
在 3 台 Linux 的 /etc/hosts 文件中,填入如下内容( 3 台都要添加)
10.211.55.6 node1 10.211.55.7 node2 10.211.55.8 node3
2.2.3.配置 SSH 免密登录
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台 Linux 服务器之间的免密码互相 SSH 登陆
⑴.在每一台机器都执行: ssh-keygen -t rsa -b 4096 ,一路回车到底即可
# 查看生成的秘钥
cd .ssh
⑵.在每一台机器都执行
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
上面会要求设置密码,设置为123456就可以了
⑶.执行完毕后, node1 、 node2 、 node3 之间将完成 root 用户之间的免密互通
# 在node1中免密登录node2
ssh node2
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 均执行
1.安装ntp软件
yum install -y ntp
2.更新时区
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.同步时间
ntpdate -u ntp.aliyun.com
4.开启ntp服务并设置开机自启
systemctl start ntpd systemctl enable ntpd
2.6.JDK安装(每台均需安装)
由于我这里的版本比较新,所以使用JDK17,同时由于当前使用macbook 的虚拟机安装CPU是M3所以使用毕昇JDK17 AArch64 版本,下载地址:https://www.hikunpeng.com/zh/developer/devkit/download/gcc

2.6.1.安装命令:
sudo mkdir -p /usr/java tar -zxvf jdk-8u381-linux-aarch64.tar.gz -C /usr/java/ vim /etc/profile # 添加内容 export JAVA_HOME=/usr/java/bisheng-jdk-17.0.17 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-jdk-17.0.17 /usr/jdk64/jdk
第3步:验证结构
/usr/jdk64/jdk/bin/java 找到 Java。# 查看目录结构 ls -l /usr/jdk64/ # 输出应该显示:jdk -> /usr/java/bisheng-jdk-17.0.17 # 验证 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.上传解压
在node1上,将tar包解压,只需要在一台服务器解压即可。
# 创建目录,用户保存解压的安装部 mkdir /var/www/html/ambari mkdir /var/www/html/HDP mkdir /var/www/html/HDP-UTILS # 解压到指定目录 tar -zxvf ambari-3.0.0.0-401-redhat89-aarch64.tar.gz -C /var/www/html/ambari/ tar -zxvf HDP-3.4.1.0-001-redhat89-aarch64.tar.gz -C /var/www/html/HDP tar -zxvf HDP-UTILS-1.1.0.22-redhat89-aarch64.tar.gz -C /var/www/html/HDP-UTILS/ cd /var/www/html/ chown -R root:root HDP chown -R root:root HDP-GPL chown -R root:root HDP-UTILS
3.2.编辑repo源
repo文件需要每台服务器都有
# 进入到目录 cd /etc/yum.repos.d/ # 创建文件ambari.repo vim ambari.repo # 添加内容 [Ambari] name=ambari baseurl=http://node1/ambari/3.0.0.0-401 gpgcheck=0 # 创建文件hdp.repo vim hdp.repo # 添加内容 [HDP-3.4.1.0-001] name=HDP-3.4.1.0-001 baseurl=http://node1/HDP/3.4.1.0-001 gpgcheck=0 [HDP-UTILS-1.1.0.22] name=HDP-UTILS-1.1.0.22 baseurl=http://node1/HDP-UTILS/1.1.0.22 gpgcheck=0
# 所有节点均需执行
yum clean all && yum repolist
注意:上面baseurl中node1指的是当前主机名,根据自己的主机名替换即可
将node1中创建的两个repo文件发送到node2、node3
scp ambari.repo hdp.repo node2:/etc/yum.repos.d
scp ambari.repo hdp.repo node3:/etc/yum.repos.d
3.3.安装MySQL
3.3.1.安装MySQL
MySQL用于存储Ambari元数据,安装MySQL8参考:https://www.cnblogs.com/auguse/articles/13324110.html
3.3.2.上传MySQL驱动
MySQL驱动jar下载地址:https://mirrors.aliyun.com/mysql/Connector-J/?spm=a2c6h.25603864.0.0.17ec2ca85C2DpZ

# 先确认它确实是个文件 ls -ld /usr/share/java # 强制删除这个错误的文件 rm -f /usr/share/java
mkdir -p /usr/share/java
ls -ld /usr/share/java
drwxr-xr-x (d 代表 directory),而不是 -rw-r--r--。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
- 安装软件包
# yum 安装 ambari-server
yum install ambari-server -y

- 配置 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 用户密码) # 登录后执行以下命令导入表结构 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进行安装。安装过程可参考如下:


浙公网安备 33010602011771号