Ambari 3.0集群部署全攻略:从环境准备到服务启动

一、环境规划与组件选型

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文件更可靠:

  1. # 在管理节点执行
  2. sudo hostnamectl set-hostname master-node
  3. # 在工作节点执行
  4. sudo hostnamectl set-hostname worker-node[1-3]

2.1.2 网络参数配置

关键网络参数需在/etc/sysconfig/network-scripts/ifcfg-ens33文件中配置(网卡名称可能因系统而异):

  1. BOOTPROTO=static
  2. ONBOOT=yes
  3. IPADDR=192.168.0.101
  4. NETMASK=255.255.255.0
  5. GATEWAY=192.168.0.1
  6. DNS1=8.8.8.8
  7. DNS2=8.8.4.4

配置完成后需执行systemctl restart network使设置生效。

2.2 主机映射文件配置

所有节点需保持/etc/hosts文件内容一致,建议采用以下格式:

  1. 127.0.0.1 localhost
  2. ::1 localhost
  3. # 集群节点映射
  4. 192.168.0.101 master-node
  5. 192.168.0.102 worker-node1
  6. 192.168.0.103 worker-node2
  7. 192.168.0.104 worker-node3

2.3 防火墙与SELinux配置

2.3.1 防火墙规则

开放关键服务端口(示例为常见端口,实际需根据服务配置调整):

  1. sudo firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,80/tcp,443/tcp,22/tcp,3306/tcp}
  2. sudo firewall-cmd --reload

2.3.2 SELinux设置

建议将SELinux设置为permissive模式:

  1. sudo setenforce 0
  2. sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

三、软件依赖安装

3.1 基础工具包

所有节点需安装开发工具集和依赖库:

  1. sudo dnf install -y epel-release
  2. sudo dnf groupinstall -y "Development Tools"
  3. sudo dnf install -y wget curl ntp ntpdate python3 java-11-openjdk-devel

3.2 数据库准备

3.2.1 MySQL安装配置

管理节点需安装MySQL 8.0作为元数据库:

  1. sudo dnf install -y mysql-server
  2. sudo systemctl enable --now mysqld

执行安全初始化并创建专用用户:

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword123!';
  2. CREATE DATABASE ambari CHARACTER SET utf8mb4;
  3. CREATE USER 'ambari'@'%' IDENTIFIED BY 'AmbariPassword456!';
  4. GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
  5. FLUSH PRIVILEGES;

3.3 Ambari仓库配置

添加官方YUM仓库(需替换为最新仓库地址):

  1. 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.repo
  2. sudo dnf clean all
  3. sudo dnf makecache

四、Ambari核心组件安装

4.1 Server节点部署

执行管理节点安装命令:

  1. sudo dnf install -y ambari-server

进行初始化配置(建议采用交互式配置):

  1. sudo ambari-server setup

关键配置项包括:

  • JDK安装路径(建议使用系统自带OpenJDK)
  • 数据库类型选择MySQL
  • 数据库连接参数配置
  • 集群管理员密码设置

4.2 Agent节点部署

在工作节点执行:

  1. sudo dnf install -y ambari-agent

修改Agent配置文件/etc/ambari-agent/conf/ambari-agent.ini

  1. [server]
  2. hostname=master-node
  3. url_port=8440

五、集群启动与验证

5.1 服务启动流程

  1. 启动管理节点服务:
    1. sudo systemctl enable --now ambari-server
  2. 启动所有Agent节点:
    1. sudo systemctl enable --now ambari-agent
  3. 通过Web界面访问管理控制台(默认端口8080):
    1. http://master-node:8080

5.2 集群健康检查

执行以下命令验证节点状态:

  1. # 检查Agent注册状态
  2. sudo ambari-agent status
  3. # 查看服务日志
  4. 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检查端口占用情况,修改冲突服务的端口配置。

六、最佳实践建议

  1. 定期备份:建立MySQL数据库定期备份机制,建议采用全量+增量备份策略
  2. 监控告警:集成主流监控系统,设置关键服务健康检查
  3. 日志管理:配置日志轮转策略,避免日志文件占用过多磁盘空间
  4. 安全加固:定期更新系统补丁,限制管理界面访问IP范围
  5. 性能调优:根据集群规模调整JVM内存参数和线程池配置

通过以上步骤,读者可完成Ambari 3.0集群的完整部署。实际生产环境中,建议先在测试环境验证部署流程,再迁移至生产环境。对于超大规模集群(50+节点),需考虑采用自动化部署工具(如Ansible)提高部署效率。