Ambari 3.0集群部署全流程解析:从环境准备到服务启动

一、环境准备与规划

1.1 版本兼容性说明

Ambari 3.0对操作系统版本有明确要求,推荐使用CentOS 8或RHEL 8系列系统。若使用CentOS 7系统,需降级安装Ambari 2.7版本(可参考历史文档《Hadoop集群部署指南》)。不同版本组件的兼容性差异主要体现在:

  • JDK版本要求:Ambari 3.0需要JDK 11支持
  • 数据库适配:MySQL 8.0驱动与旧版存在兼容性问题
  • 内核参数:CentOS 8默认启用的cgroup v2需要特殊配置

1.2 集群拓扑设计

以3节点测试集群为例,建议采用1主2从架构:
| IP地址 | 主机名 | 资源配置 | 角色分配 |
|———————|———————|————————|———————————————|
| 192.168.0.101| server-test1 | 2C/16G/200GB | Ambari Server+Agent+MySQL+Nginx|
| 192.168.0.102| server-test2 | 2C/8G/100GB | Ambari Agent+DataNode |
| 192.168.0.103| server-test3 | 2C/8G/100GB | Ambari Agent+DataNode |

资源分配原则:

  • 主节点建议配置16GB以上内存(需承载HBase/Hive等组件)
  • 从节点磁盘空间按实际数据量预留1.5倍冗余
  • 网络带宽建议千兆以上,避免IO瓶颈

二、系统基础配置

2.1 主机标识管理

2.1.1 主机名设置

通过hostnamectl命令永久修改主机名:

  1. sudo hostnamectl set-hostname server-test1
  2. # 验证修改结果
  3. hostnamectl status | grep "Static hostname"

2.1.2 主机映射配置

编辑/etc/hosts文件实现IP与主机名的解析:

  1. vi /etc/hosts
  2. # 添加以下内容(保留原有localhost条目)
  3. 192.168.0.101 server-test1
  4. 192.168.0.102 server-test2
  5. 192.168.0.103 server-test3

验证配置:

  1. ping server-test2
  2. # 应显示来自192.168.0.102的响应

2.2 网络参数配置

2.2.1 静态IP设置

修改网卡配置文件(以ens33为例):

  1. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  2. # 关键参数配置
  3. BOOTPROTO=none
  4. ONBOOT=yes
  5. IPADDR=192.168.0.101
  6. NETMASK=255.255.255.0
  7. GATEWAY=192.168.0.1
  8. DNS1=8.8.8.8

应用配置:

  1. systemctl restart NetworkManager
  2. nmcli connection show # 确认连接状态

2.2.2 内核参数优化

在/etc/sysctl.conf中添加:

  1. # 网络参数优化
  2. net.ipv4.tcp_max_syn_backlog = 4096
  3. net.core.somaxconn = 4096
  4. net.ipv4.ip_local_port_range = 1024 65000
  5. # 文件描述符限制
  6. fs.file-max = 6553500

生效配置:

  1. sysctl -p
  2. ulimit -n # 验证当前限制

三、Ambari服务部署

3.1 依赖环境安装

3.1.1 JDK环境配置

安装OpenJDK 11:

  1. dnf install java-11-openjdk-devel
  2. java -version # 验证安装

3.1.2 数据库准备

以MySQL为例的初始化步骤:

  1. dnf install mysql-server
  2. systemctl start mysqld
  3. # 获取临时密码
  4. grep 'temporary password' /var/log/mysqld.log
  5. # 安全配置
  6. mysql_secure_installation

创建Ambari专用数据库:

  1. CREATE DATABASE ambari CHARACTER SET utf8;
  2. CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambari@123';
  3. GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
  4. FLUSH PRIVILEGES;

3.2 安装包获取与验证

从官方托管仓库获取安装包(示例为通用流程):

  1. # 添加仓库配置(需替换为实际仓库地址)
  2. wget http://public-repo-1.hortonworks.com/ambari/centos8/2.x/updates/2.7.4.0/ambari.repo
  3. cp ambari.repo /etc/yum.repos.d/
  4. dnf clean all
  5. dnf makecache

验证包完整性:

  1. dnf list installed | grep ambari-server
  2. # 应显示ambari-server-3.0.0等版本信息

3.3 服务端安装配置

3.3.1 安装服务端

  1. dnf install ambari-server
  2. ambari-server setup # 交互式配置

关键配置项:

  • JDK选择:使用系统自带JDK
  • 数据库配置:选择外部MySQL
  • 数据库连接:填写前文创建的凭据
  • 告警邮箱:配置管理员邮箱

3.3.2 启动服务

  1. systemctl start ambari-server
  2. systemctl enable ambari-server
  3. # 验证服务状态
  4. systemctl status ambari-server | grep active

3.4 Agent节点部署

在所有从节点执行:

  1. dnf install ambari-agent
  2. vi /etc/ambari-agent/conf/ambari-agent.ini
  3. # 修改server主机名
  4. [server]
  5. hostname=server-test1

启动Agent服务:

  1. systemctl start ambari-agent
  2. systemctl enable ambari-agent

四、集群初始化与验证

4.1 Web控制台访问

通过浏览器访问:

  1. http://server-test1:8080

默认凭据:

  • 用户名:admin
  • 密码:admin

4.2 集群创建向导

  1. 命名集群(如TestCluster)
  2. 选择版本(HDP 3.1或自定义版本)
  3. 注册主机(输入所有节点主机名)
  4. 选择服务(建议初始安装HDFS+YARN+ZooKeeper)
  5. 配置服务参数(重点关注数据目录路径)
  6. 审查配置并部署

4.3 状态验证

4.3.1 服务健康检查

在Ambari控制台查看:

  • 所有服务状态应为绿色”Started”
  • 主机健康状态显示”Heart Beat OK”
  • 磁盘空间使用率正常

4.3.2 基础功能测试

HDFS文件操作示例:

  1. # 在主节点执行
  2. sudo -u hdfs hdfs dfs -mkdir /test
  3. sudo -u hdfs hdfs dfs -put /etc/hosts /test/
  4. hdfs dfs -ls /test

五、常见问题处理

5.1 数据库连接失败

检查项:

  • MySQL服务是否运行
  • 防火墙是否放行3306端口
  • 用户权限是否正确配置
  • JDBC驱动版本是否匹配

5.2 Agent注册失败

排查步骤:

  1. 检查/var/log/ambari-agent/ambari-agent.log
  2. 验证主机名解析是否正常
  3. 检查时间同步状态(ntpdate -u pool.ntp.org)
  4. 确认SELinux处于permissive模式

5.3 服务启动超时

解决方案:

  • 增加ambari-agent的ping超时时间(修改/etc/ambari-agent/conf/ambari-agent.ini)
  • 检查节点间网络延迟(建议ping值<1ms)
  • 验证资源分配是否满足最小要求

六、运维建议

  1. 定期备份数据库:
    1. mysqldump -u ambari -p ambari > ambari_backup.sql
  2. 监控关键指标:
    • 磁盘IO利用率
    • 网络带宽使用
    • JVM堆内存使用
  3. 建议配置监控告警系统(如集成主流监控平台)
  4. 定期更新至最新补丁版本(通过ambari-server upgrade命令)

通过以上步骤,读者可完成Ambari 3.0集群的完整部署。实际生产环境部署时,建议先在测试环境验证配置,再逐步扩展至多节点集群。对于大规模部署场景,可考虑使用自动化配置管理工具(如Ansible)批量处理节点配置。