HDP安装手册

杲杲 所谓努力就是慢慢来的过程

一、安装介质清单

1
2
3
4
5
6
7
1.ambari-2.7.8.0-213-redhat7-x86_64.tar.gz
2.HDP-3.3.2.0-013-redhat789-x86_64.tar.gz
3.HDP-GPL-3.3.2.0-013-redhat789-x86_64.tar.gz
4.HDP-UTILS-1.1.0.22-centos789-x86_64.tar.gz
5.md5sum_x86_64_redhat.txt
6.sh-utils-1.0.0-001.x86_64.rpm
7.mysql-connector-java-5.1.40-bin.jar

下载地址:http://www.hdp.link/docs/repository-files

二、集群规划

主机名IP地址CPU核内存存储系统服务分配
indata-192-168-70-134.indata.com(主节点)192.168.70.134812G150Gcentos7ambari-server、httpd、mysql、jdk8、chrony
indata-192-168-70-135.indata.com192.168.70.135812G80Gcentos7ambari-agent、jdk8、chrony
indata-192-168-70-136.indata.com192.168.70.136812G80Gcentos7ambari-agent、jdk8、chrony

三、制备虚机

3.1 安装centos7(略)

3.2 更换yum源(所有机器都需要执行)

1
bash <(curl -sSL https://linuxmirrors.cn/main.sh)

3.3 安装网络工具和vim文本编辑(所有机器都需要执行)

1
2
yum install -y net-tools
yum install -y vim

3.4 修改主机名

1
2
# 设置主机名,建议采用 FQDN 命名法
hostnamectl set-hostname indata-192-168-70-134.indata.com

3.5 修改hosts文件(所有机器都需要执行)

1
2
3
4
5
6
# 修改 hosts 文件
vim /etc/hosts
# 添加主机映射
192.168.70.134 indata-192-168-70-134.indata.com
192.168.70.135 indata-192-168-70-135.indata.com
192.168.70.136 indata-192-168-70-136.indata.com

3.6 关闭防火墙、selinux

1
2
3
4
5
6
7
8
9
10
11
12
13
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙开机自启
systemctl disable firewalld
# 通过此命令查看防火墙状态
systemctl status firewalld

vim /etc/sysconfig/selinux
# 修改
SELINUX=disabled

# 需要重启机器,否则后续 httpd 请求yum源时会报403
reboot

3.7 SSH 免密登录(所有机器都需要执行)

1
2
3
4
5
6
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub indata-192-168-70-134.indata.com
ssh-copy-id -i /root/.ssh/id_rsa.pub indata-192-168-70-135.indata.com
ssh-copy-id -i /root/.ssh/id_rsa.pub indata-192-168-70-136.indata.com

做完记得测试下

3.8 时间同步 chrony

3.8.1 将 indata-192-168-70-134.indata.com 做为时间服务器

1
2
3
4
5
6
7
8
#安装 chrony (所有机器都需要执行)
yum install -y chrony

# 修改配置文件
vim /etc/chrony.conf

# 设置允许 135 和 136 机器可以从这台机器上查询和同步时间
allow 192.168.0.0/16

3.8.2 在 135、136 同步 134 上的时间

1
2
3
4
5
6
7
8
9
10
# 修改配置文件
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.70.134 iburst
server indata-192-168-70-134.indata.com iburst

3.8.3 启动服务并设置开机启动(所有机器上执行)

1
2
3
4
5
6
7
8
9
# 设置启动并开机自启
systemctl restart chronyd && systemctl enable chronyd
# 查看状态
systemctl status chronyd

# 查看同步服务器
chronyc sources -v
# 执行一次同步
chronyc -a makeste

3.9 安装 httpd 服务

3.9.1 将下载的文件上传主机 134节点 临时目录 /root/ambari

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 切换到临时目录
cd /root/ambari

# 创建/var/www/html目录存放文件
mkdir -p /var/www/html/hdp
mkdir -p /usr/share/java

# 解压文件到指定目录
tar -zxvf ambari-2.7.8.0-213-redhat7-x86_64.tar.gz -C /var/www/html/
tar -zxvf HDP-3.3.2.0-013-redhat789-x86_64.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos789-x86_64.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-GPL-3.3.2.0-013-redhat789-x86_64.tar.gz -C /var/www/html/hdp/


# 提前准备 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

安装httpd在 134节点 上执行(做为 http 服务器)

1
2
3
4
5
# 安装服务
yum -y install httpd

# 启动服务并开机自启
systemctl start httpd && systemctl enable httpd

3.9.2 配置 ambari.repo 本地源

1
2
3
4
5
6
7
8
9
10
vim /etc/yum.repos.d/ambari.repo

# 添加如下内容
[Ambari-2.7.8.0-213]
name=Ambari-2.7.8.0-213
baseurl=http://indata-192-168-70-134.indata.com/2.7.8.0-213
gpgcheck=0
enabled=1
priority=1

3.9.3 配置 hdp、hdp-utils 本地源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
vim /etc/yum.repos.d/hdp.repo

# 添加如下内容
[HDP-3.3.2.0-013]
name=HDP Version - HDP-3.3.2.0
baseurl=http://indata-192-168-70-134.indata.com/hdp/3.3.2.0-013
gpgcheck=0
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://indata-192-168-70-134.indata.com/hdp/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
enabled=1
priority=1

[HDP-GPL-3.3.2.0-013]
name=HDP-GPL Version - HDP-GPL-3.3.2.0
baseurl=http://indata-192-168-70-134.indata.com/hdp/gpl-3.3.2.0-013
gpgcheck=0
enabled=1
priority=1

3.9.4 复制源文件到其它机器,并查看源

1
2
3
4
5
6
scp /etc/yum.repos.d/{ambari,hdp,libtirpc}.repo indata-192-168-70-135.indata.com:/etc/yum.repos.d/
scp /etc/yum.repos.d/{ambari,hdp,libtirpc}.repo indata-192-168-70-136.indata.com:/etc/yum.repos.d/

# 查看源
yum clean all
yum repolist

4.0 安装 jdk8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 解压移动到指定目录
tar -zxvf jdk-8u212-linux-x64.tar.gz
mkdir /usr/local/java
mv jdk1.8.0_212/* /usr/local/java
# 删除临时文件
rm -rf jdk*

# 修改配置文件
vim /etc/profile

# 添加内容
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 /etc/profile
java -version

4.1 安装mysql5.7.16

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#卸载
rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps
#安装
rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
systemctl start mysqld
cat /var/log/mysqld.log | grep password

#登录mysql
mysql -uroot -p'密码'
#设置密码策略
set global validate_password_length=4;
set global validate_password_policy=0;
#设置密码
set password=password("1233");
#切换数据库
use mysql
select user, host from user;
update user set host="%" where user="root";
flush privileges;
quit;
#设置开机自启
systemctl enable mysqld

四、部署 Ambari

在192.168.70.134上安装ambari-server

1
2
3
4
5
6
# 安装
yum -y install ambari-server

# 初始化安装配置
ambari-server setup

image-20260206152226756

image-20260206152440782

数据库文件导入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 登录 mariadb 创建 ambari 安装所需要的库
mysql -uroot -p1233

CREATE DATABASE ambari;
use ambari;
#设置密码策略
set global validate_password_length=4;
set global validate_password_policy=0;
CREATE USER 'ambari'@'%' IDENTIFIED BY '1233';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';

# 导入sql文件
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
show tables;

# 刷新权限
FLUSH PRIVILEGES;

启动运行

1
ambari-server start

image-20260206161400366

访问管理页面:http://192.168.70.134:8080,默认账号密码:admin/admin

image-20260206161456126

配置本地yum源

-> 选择 Launch Install Wizard -> 配置集群名称 -> 选择版本并修改本地源地址

-> 选 HDP-3.3 (Default Version Definition) -> Use Local Repository -> redhat7

image-20260206163220397

配置节点和密钥

查看 134 节点文件cat /root/.ssh/id_rsa复制完整内容到密钥框!点击下一步,进入确认主机界面

image-20260206163514387

待主机全部验证通过后,就可以安装自己的组件了

报错:

image-20260206171311235

hive没权限建库

在mysql中赋权

1
2
3
4
5
6
7
mysql -uroot -p1233
#创建hive库
create database hive;
#赋权
grant all privileges on *.* to 'hive'@'%' identified by '1233' with grant option;
# 刷新权限
FLUSH PRIVILEGES;

如果遇到spark3 client安装失败

报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/stacks/HDP/3.3/services/SPARK3/package/scripts/spark_client.py", line 55, in <module>
SparkClient().execute()
File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute
method(env)
File "/var/lib/ambari-agent/cache/stacks/HDP/3.3/services/SPARK3/package/scripts/spark_client.py", line 35, in install
self.configure(env)
File "/var/lib/ambari-agent/cache/stacks/HDP/3.3/services/SPARK3/package/scripts/spark_client.py", line 41, in configure
setup_spark(env, 'client', upgrade_type=upgrade_type, action = 'config')
File "/var/lib/ambari-agent/cache/stacks/HDP/3.3/services/SPARK3/package/scripts/setup_spark.py", line 206, in setup_spark
setup_ranger_spark(upgrade_type=None, service_name=None)
File "/var/lib/ambari-agent/cache/stacks/HDP/3.3/services/SPARK3/package/scripts/setup_ranger_spark.py", line 102, in setup_ranger_spark
Logger.exception("Audit directory creation in HDFS for SPARK3 Ranger plugin failed with error:\n{0}".format(err))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 299-302: ordinal not in range(128)

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 299-302: ordinal not in range(128)

UnicodeEncodeError 编码错误

因为我centos7设置的 zh_CN.UTF-8

需要更换成 en_US.UTF-8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 编辑 locale 配置文件
vi /etc/locale.conf

# 添加/修改以下内容
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

# 保存后执行生效
source /etc/locale.conf

# 验证编码是否生效
locale

# 正常输出应如下:
# LANG=en_US.UTF-8
# LC_CTYPE="en_US.UTF-8"
# LC_NUMERIC="en_US.UTF-8"
# LC_TIME="en_US.UTF-8"
# LC_COLLATE="en_US.UTF-8"
# LC_MONETARY="en_US.UTF-8"
# LC_MESSAGES="en_US.UTF-8"
# LC_PAPER="en_US.UTF-8"
# LC_NAME="en_US.UTF-8"
# LC_ADDRESS="en_US.UTF-8"
# LC_TELEPHONE="en_US.UTF-8"
# LC_MEASUREMENT="en_US.UTF-8"
# LC_IDENTIFICATION="en_US.UTF-8"
# LC_ALL=en_US.UTF-8

# 重启 Ambari Agent
systemctl restart ambari-agent

全部成功启动

image-20260212161853922

  • 标题: HDP安装手册
  • 作者: 杲杲
  • 创建于 : 2026-02-05 14:24:27
  • 更新于 : 2026-02-05 14:24:27
  • 链接: https://weishijay.dpdns.org/2026/02/05/HDP安装手册/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
HDP安装手册