Step1—基础环境准备
注意事项
本文基于 Rocky 8.10 做的适配,其他 el8 产品(如 CentOS8/Alma8)配置和包名可能会有出入,使用时请留意版本兼容性。如遇疑难可通过 VX 或 QQ 群与作者交流。
# 1. 修改所有节点主机名 🖥️
在多节点集群环境下,主机名规范化不仅能提高系统可读性,还能在自动化批量部署和故障排查中带来极大便利。建议命名风格统一且易辨识。
IP 地址 | 主机名 |
---|---|
192.168.3.1 | dev1 |
192.168.3.2 | dev2 |
192.168.3.3 | dev3 |
# 192.168.3.1
hostnamectl set-hostname dev1
# 192.168.3.2
hostnamectl set-hostname dev2
# 192.168.3.3
hostnamectl set-hostname dev3
2
3
4
5
6
7
8
提示
主机名更改仅影响当前节点,如需集群内主机名互通,务必同步维护 /etc/hosts
文件,并在所有节点写入完整的 IP
与主机名映射。这样即使没有独立 DNS,也能保障服务部署和节点通信。
192.168.3.1 dev1
192.168.3.2 dev2
192.168.3.3 dev3
2
3
这样即使 DNS 异常,节点间依然可直接用主机名互通,极大提高了集群可靠性。集群必备
# 2. 配置国内 Rocky 8.10 YUM 镜像源 🇨🇳
系统源的速度和稳定性直接影响到后续所有依赖包的获取。对于企业或离线集群,建议优先使用自建私服或本地镜像,极大提升安装效率并规避“包丢失”风险。
# 2.1 推荐:自建 YUM 私服或局域网镜像仓库
私服配置方式如下,适合大规模集群部署或离线场景,所有节点均指向同一个镜像源。这样无论官方如何变动,都可保证包的完整和可控。
编辑 /etc/yum.repos.d/yum-public.repo
并填入如下内容:
[rocky-baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=http://172.20.0.2:8081/repository/rocky8-mirrors/$releasever/BaseOS/$basearch/os/
gpgcheck=0
enabled=1
[rocky-appstream]
name=Rocky Linux $releasever - AppStream
baseurl=http://172.20.0.2:8081/repository/rocky8-mirrors/$releasever/AppStream/$basearch/os/
gpgcheck=0
enabled=1
[rocky-extras]
name=Rocky Linux $releasever - Extras
baseurl=http://172.20.0.2:8081/repository/rocky8-mirrors/$releasever/extras/$basearch/os/
gpgcheck=0
enabled=1
[rocky-epel]
name=EPEL for Rocky Linux $releasever - $basearch
baseurl=http://172.20.0.2:8081/repository/rocky8-epel/epel/$releasever/Everything/$basearch/
gpgcheck=0
enabled=1
[rocky-powertools]
name=Rocky Linux $releasever - PowerTools
baseurl=http://172.20.0.2:8081/repository/rocky8-mirrors/$releasever/PowerTools/$basearch/os/
gpgcheck=0
enabled=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
笔记
如有公网需求,可将 baseurl
替换为阿里云、华为云、清华等国内镜像地址,直接支持 Rocky
8.10。对于“边缘节点”或分支机构,优先推荐配置为公司总部的内网源,提高可控性和带宽利用率。
# 2.2 方案二:直接用国内公有云镜像
只需把上述 repo 中的 baseurl
换成阿里、华为等源即可。例如阿里云 Rocky 8:
[rocky-baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[rocky-appstream]
name=Rocky Linux $releasever - AppStream
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[rocky-extras]
name=Rocky Linux $releasever - Extras
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/extras/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[rocky-powertools]
name=Rocky Linux $releasever - PowerTools
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/PowerTools/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8
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
32
33
34
35
更换源后,务必执行:
dnf clean all && dnf makecache
建议同步配置 epel、powertools,否则部分依赖包安装会提示“未找到”。
# 3. 批量安装基础系统工具 🔧
大数据平台、Ambari/Bigtop 等生态对系统依赖包要求极高,不仅涉及开发编译,还包含文档构建、认证、压缩、网络、同步等多方面。
# 3.1 推荐批量安装命令
推荐在所有节点一键安装下述软件包,避免后续因“缺包”导致的反复调试。
dnf -y install \
asciidoc \
autoconf \
automake \
bzip2-devel \
cmake \
cppunit-devel \
cyrus-sasl-devel \
curl \
docbook2X \
fuse \
fuse-devel \
fuse-libs \
gcc \
gcc-c++ \
git \
iproute \
krb5-devel \
less \
libtirpc-devel \
libtool \
libxml2-devel \
lsof \
lzo-devel \
make \
net-tools \
openssh-server \
openssl-devel \
patch \
procps-ng \
protobuf-devel \
python3 \
redhat-lsb-core \
rpm-build \
rsync \
snappy-devel \
sudo \
tar \
unzip \
vim \
wget \
which \
xmlto \
zlib-devel
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
32
33
34
35
36
37
38
39
40
41
42
43
44
# 3.2 主要依赖简析
工具/库 | 作用与场景 |
---|---|
gcc/gcc-c++ | 编译 C/C++ 源码,Hadoop/Spark/HBase 均需 |
make/cmake | 兼容绝大多数开源项目的构建系统 |
openssl-devel | 各类安全传输/证书/组件认证 |
python3 | 现代脚本与大数据生态依赖 |
protobuf-devel | Hadoop/Yarn/Tez 通信协议编解码 |
bzip2-devel、snappy-devel、lzo-devel | 各类数据压缩依赖,提升数据存取与传输效率 |
libxml2-devel、asciidoc/xmlto/docbook2X | XML 解析及文档生成,便于文档自动化 |
cyrus-sasl-devel/krb5-devel | Kerberos 安全认证(Hadoop/Yarn常见) |
fuse/fuse-devel/fuse-libs | 支持分布式挂载与云盘文件系统 |
cppunit-devel | 组件源码单元测试需要 |
rpm-build/patch | 二次开发与 RPM 打包环境 |
lsof/net-tools | 网络监控与故障定位 |
openssh-server | 远程管理与自动化部署 |
rsync | 批量分发与高效同步 |
redhat-lsb-core | 标准兼容性、部分软件依赖 |
git/wget/curl/tar/unzip | 版本管理、下载与解压缩 |
sudo/which/less | 系统级运维与管理 |
libtirpc-devel/libtool/procps-ng | 低层 RPC、编译与进程管理 |
提示
部分特殊包如 docbook2X
、cppunit-devel
可能不是所有业务都要,但在自定义编译大数据组件、自动化测试、文档流水线等场景极为常用。建议全量装齐,无后顾之忧。
- 01
- bigtop-select 打包缺 compat 报错修复 deb07-16
- 02
- bigtop-select 打包缺 control 文件报错修复 deb07-16
- 03
- 首次编译-环境初始化 必装07-16