一、环境规划与组件选型
1.1 集群架构设计
推荐采用1主3从的典型架构,包含1个管理节点和3个工作节点。管理节点需部署Ambari Server、MySQL数据库及Nginx反向代理服务,工作节点仅需安装Ambari Agent。这种架构既能满足生产环境需求,又便于故障排查和性能调优。
1.2 硬件配置建议
| 节点类型 | CPU核心数 | 内存容量 | 磁盘空间 | 特殊要求 |
|---|---|---|---|---|
| 管理节点 | 4核以上 | 16GB+ | 200GB+ | 需支持虚拟化 |
| 工作节点 | 2核以上 | 8GB+ | 500GB+ | 需配置RAID |
1.3 系统版本选择
强烈建议使用CentOS 8系统,该版本对Ambari 3.0的组件兼容性最佳。若必须使用CentOS 7系统,需降级安装Ambari 2.7.4版本,但会失去部分新特性支持。不同系统版本的组件依赖差异主要体现在:
- 数据库驱动兼容性
- Python版本要求
- 防火墙规则配置语法
二、基础环境配置
2.1 主机名与网络配置
2.1.1 主机名设置
采用hostnamectl命令修改主机名,该方式比直接修改/etc/hostname文件更可靠:
# 在管理节点执行sudo hostnamectl set-hostname master-node# 在工作节点执行sudo hostnamectl set-hostname worker-node[1-3]
2.1.2 网络参数配置
关键网络参数需在/etc/sysconfig/network-scripts/ifcfg-ens33文件中配置(网卡名称可能因系统而异):
BOOTPROTO=staticONBOOT=yesIPADDR=192.168.0.101NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=8.8.8.8DNS2=8.8.4.4
配置完成后需执行systemctl restart network使设置生效。
2.2 主机映射文件配置
所有节点需保持/etc/hosts文件内容一致,建议采用以下格式:
127.0.0.1 localhost::1 localhost# 集群节点映射192.168.0.101 master-node192.168.0.102 worker-node1192.168.0.103 worker-node2192.168.0.104 worker-node3
2.3 防火墙与SELinux配置
2.3.1 防火墙规则
开放关键服务端口(示例为常见端口,实际需根据服务配置调整):
sudo firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,80/tcp,443/tcp,22/tcp,3306/tcp}sudo firewall-cmd --reload
2.3.2 SELinux设置
建议将SELinux设置为permissive模式:
sudo setenforce 0sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
三、软件依赖安装
3.1 基础工具包
所有节点需安装开发工具集和依赖库:
sudo dnf install -y epel-releasesudo dnf groupinstall -y "Development Tools"sudo dnf install -y wget curl ntp ntpdate python3 java-11-openjdk-devel
3.2 数据库准备
3.2.1 MySQL安装配置
管理节点需安装MySQL 8.0作为元数据库:
sudo dnf install -y mysql-serversudo systemctl enable --now mysqld
执行安全初始化并创建专用用户:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword123!';CREATE DATABASE ambari CHARACTER SET utf8mb4;CREATE USER 'ambari'@'%' IDENTIFIED BY 'AmbariPassword456!';GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';FLUSH PRIVILEGES;
3.3 Ambari仓库配置
添加官方YUM仓库(需替换为最新仓库地址):
sudo wget http://public-repo-1.hortonworks.com/ambari/centos8/2.x/updates/2.7.4.0/ambari.repo -O /etc/yum.repos.d/ambari.reposudo dnf clean allsudo dnf makecache
四、Ambari核心组件安装
4.1 Server节点部署
执行管理节点安装命令:
sudo dnf install -y ambari-server
进行初始化配置(建议采用交互式配置):
sudo ambari-server setup
关键配置项包括:
- JDK安装路径(建议使用系统自带OpenJDK)
- 数据库类型选择MySQL
- 数据库连接参数配置
- 集群管理员密码设置
4.2 Agent节点部署
在工作节点执行:
sudo dnf install -y ambari-agent
修改Agent配置文件/etc/ambari-agent/conf/ambari-agent.ini:
[server]hostname=master-nodeurl_port=8440
五、集群启动与验证
5.1 服务启动流程
- 启动管理节点服务:
sudo systemctl enable --now ambari-server
- 启动所有Agent节点:
sudo systemctl enable --now ambari-agent
- 通过Web界面访问管理控制台(默认端口8080):
http://master-node:8080
5.2 集群健康检查
执行以下命令验证节点状态:
# 检查Agent注册状态sudo ambari-agent status# 查看服务日志sudo tail -f /var/log/ambari-server/ambari-server.log
5.3 常见问题处理
5.3.1 数据库连接失败
检查MySQL服务状态和防火墙规则,确认用户权限设置正确。
5.3.2 Agent注册超时
检查网络连通性,确认/etc/hosts文件配置正确,必要时调整Agent心跳间隔参数。
5.3.3 端口冲突
使用netstat -tulnp | grep LISTEN检查端口占用情况,修改冲突服务的端口配置。
六、最佳实践建议
- 定期备份:建立MySQL数据库定期备份机制,建议采用全量+增量备份策略
- 监控告警:集成主流监控系统,设置关键服务健康检查
- 日志管理:配置日志轮转策略,避免日志文件占用过多磁盘空间
- 安全加固:定期更新系统补丁,限制管理界面访问IP范围
- 性能调优:根据集群规模调整JVM内存参数和线程池配置
通过以上步骤,读者可完成Ambari 3.0集群的完整部署。实际生产环境中,建议先在测试环境验证部署流程,再迁移至生产环境。对于超大规模集群(50+节点),需考虑采用自动化部署工具(如Ansible)提高部署效率。