【Ambari3.0.0 部署】Step1—基础环境准备-适用于el8
如果有其他系统部署需求可以参考原文
https://doc.janettr.com/install/manual/
注意事项
本文基于 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
主机名更改仅影响当前节点,如需集群内主机名互通,务必同步维护 /etc/hosts
文件,并在所有节点写入完整的 IP
与主机名映射。这样即使没有独立 DNS,也能保障服务部署和节点通信。
192.168.3.1 dev1
192.168.3.2 dev2
192.168.3.3 dev3
这样即使 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
如有公网需求,可将 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
更换源后,务必执行:
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
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
可能不是所有业务都要,但在自定义编译大数据组件、自动化测试、文档流水线等场景极为常用。建议全量装齐,无后顾之忧。