一、部署环境规划与准备
1.1 版本兼容性说明
Ambari 3.0对操作系统版本有严格要求,经测试仅支持CentOS 8/RHEL 8及以上版本。若使用CentOS 7系统,建议选择Ambari 2.7.4版本(可参考相关教程)。本教程基于CentOS 8.5环境验证,确保所有组件兼容性。
1.2 虚拟机集群规划
采用3节点架构实现高可用部署,具体配置如下:
| IP地址 | 主机名 | 资源配置 | 服务角色 |
|———————|——————|————————|———————————————|
| 192.168.0.101 | server-01 | 4C/16G/200GB | Ambari Server + Agent + MySQL |
| 192.168.0.102 | server-02 | 4C/8G/100GB | Ambari Agent + DataNode |
| 192.168.0.103 | server-03 | 4C/8G/100GB | Ambari Agent + DataNode |
建议配置:
- 磁盘分区:/var 目录单独分配至少50GB空间
- 网络带宽:千兆以太网连接
- 时间同步:所有节点启用NTP服务
二、系统基础配置
2.1 主机名与网络配置
修改主机名
# 方法1:临时生效hostnamectl set-hostname server-01# 方法2:永久生效(需重启)vi /etc/hostname# 修改内容为:server-01
网络配置优化
编辑网卡配置文件(示例为ens33网卡):
vi /etc/sysconfig/network-scripts/ifcfg-ens33
关键参数配置:
BOOTPROTO=static # 静态IP配置ONBOOT=yes # 开机自启IPADDR=192.168.0.101 # 节点IPNETMASK=255.255.255.0 # 子网掩码GATEWAY=192.168.0.1 # 默认网关DNS1=8.8.8.8 # 主DNSDNS2=8.8.4.4 # 备DNS
2.2 主机解析配置
编辑/etc/hosts文件实现内部域名解析:
vi /etc/hosts
添加集群节点映射:
127.0.0.1 localhost192.168.0.101 server-01192.168.0.102 server-02192.168.0.103 server-03
2.3 系统参数调优
关闭防火墙
systemctl stop firewalldsystemctl disable firewalld
禁用SELinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
调整文件描述符限制
编辑/etc/security/limits.conf:
* soft nofile 65536* hard nofile 65536* soft nproc 4096* hard nproc 4096
三、Ambari服务端部署
3.1 依赖环境安装
# 安装基础工具yum install -y epel-release wget curl git# 安装开发工具链yum groupinstall -y "Development Tools"# 安装Java环境(建议OpenJDK 11)yum install -y java-11-openjdk-devel
3.2 数据库配置
MySQL安装与初始化
# 安装MySQL 8.0yum install -y mysql-serversystemctl start mysqldsystemctl enable mysqld# 安全初始化mysql_secure_installation# 按提示设置root密码并移除匿名用户
创建Ambari数据库
CREATE DATABASE ambari CHARACTER SET utf8 COLLATE utf8_general_ci;CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambari@123';GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';FLUSH PRIVILEGES;
3.3 Ambari仓库配置
# 添加官方仓库(需替换为最新版本链接)wget http://public-repo-1.hortonworks.com/ambari/centos8/2.x/updates/2.7.4.0/ambari.repocp ambari.repo /etc/yum.repos.d/yum clean allyum makecache
3.4 服务端安装
# 安装Ambari Serveryum install -y ambari-server# 初始化配置ambari-server setup --silent \--java-home=/usr/lib/jvm/jre-11 \--db-user=ambari \--db-password=Ambari@123 \--db-root-user=root \--db-root-password=MySQL@123 \--db-name=ambari \--db-host=192.168.0.101 \--db-port=3306
四、集群节点部署
4.1 Agent安装
在所有节点执行:
yum install -y ambari-agent
4.2 Agent配置
编辑/etc/ambari-agent/conf/ambari-agent.ini:
[server]hostname=192.168.0.101 # 指向Server节点IP
4.3 启动服务
# 启动Agent服务systemctl start ambari-agentsystemctl enable ambari-agent# 启动Server服务systemctl start ambari-serversystemctl enable ambari-server
五、集群初始化配置
5.1 Web控制台访问
通过浏览器访问:
http://192.168.0.101:8080
默认登录凭证:
- 用户名:admin
- 密码:admin
5.2 集群创建向导
- 命名集群:输入自定义集群名称(如MyHadoopCluster)
- 选择版本:选择HDP 3.1.4或兼容版本
- 配置仓库:指定本地或网络仓库URL
- 节点注册:输入所有节点主机名
- 服务选择:推荐选择HDFS、YARN、ZooKeeper等基础服务
5.3 高级配置
核心参数优化
| 服务 | 参数名 | 推荐值 |
|---|---|---|
| HDFS | dfs.replication | 3 |
| YARN | yarn.nodemanager.resource.memory-mb | 8192 |
| MapReduce | mapreduce.map.memory.mb | 2048 |
配置验证
# 在Server节点执行配置检查ambari-server sync-all --verbose
六、常见问题处理
6.1 数据库连接失败
检查MySQL的bind-address配置:
# 编辑/etc/my.cnf[mysqld]bind-address=0.0.0.0 # 允许远程连接
6.2 Agent注册失败
检查防火墙设置和SELinux状态,确保8080/8081端口开放:
firewall-cmd --add-port={8080,8081}/tcp --permanentfirewall-cmd --reload
6.3 服务启动超时
调整Ambari服务启动超时时间:
vi /etc/ambari-server/conf/ambari.properties# 修改以下参数agent.task.timeout=1200server.startup.timeout=600
七、最佳实践建议
- 定期备份:使用
ambari-server backup命令定期备份集群配置 - 监控集成:建议集成主流监控系统(如Prometheus+Grafana)
- 升级策略:小版本升级使用
ambari-server upgrade命令 - 安全加固:启用Kerberos认证和TLS加密通信
通过以上步骤,您已完成Ambari 3.0集群的完整部署。该方案经过生产环境验证,可支撑PB级大数据处理场景。建议后续根据业务需求逐步扩展Hive、Spark等组件,构建完整的数据分析平台。