一、环境准备与系统要求
在开始部署前需明确系统兼容性要求,当前主流版本支持CentOS/RHEL 7.x系列操作系统。建议使用最小化安装模式,避免图形界面占用系统资源。每台节点需满足以下基础条件:
- 内存:建议生产环境不低于16GB
- 磁盘:系统盘保留100GB以上,数据盘按业务需求配置
- 网络:千兆网卡,确保节点间延迟<1ms
- 依赖包:提前安装wget、curl、net-tools等基础工具
建议采用3节点起步的集群架构,包含1个管理节点和2个计算节点。管理节点承担Ambari Server、数据库等核心服务,计算节点部署DataNode、NodeManager等组件。
二、系统基础配置
2.1 主机名规范化设置
统一的主机命名规范便于后期维护,推荐采用role-seqno格式。通过以下两种方式均可完成配置:
# 临时生效方式sudo hostnamectl set-hostname master-01# 永久生效方式(需重启)echo "master-01" > /etc/hostname
修改后需验证结果:
$ hostnamectl statusStatic hostname: master-01Icon name: computer-serverChassis: serverMachine ID: 9f3d...Boot ID: 7a2c...Operating System: CentOS Linux 7 (Core)
2.2 网络参数优化
生产环境建议采用静态IP配置,编辑网卡配置文件时需注意以下关键参数:
# /etc/sysconfig/network-scripts/ifcfg-ens33 示例BOOTPROTO=noneONBOOT=yesIPADDR=192.168.1.10NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=114.114.114.114DNS2=8.8.8.8
配置完成后执行systemctl restart network重启服务,通过ip addr show验证配置是否生效。对于高并发场景,建议调整内核参数优化网络性能:
# 增大最大连接数echo "net.core.somaxconn = 65535" >> /etc/sysctl.conf# 优化TCP参数echo "net.ipv4.tcp_max_syn_backlog = 8192" >> /etc/sysctl.conf# 使配置生效sysctl -p
2.3 主机解析配置
编辑/etc/hosts文件建立集群内部解析,示例配置如下:
127.0.0.1 localhost localhost.localdomain192.168.1.10 master-01192.168.1.11 worker-01192.168.1.12 worker-02
验证解析是否生效:
$ ping worker-01PING worker-01 (192.168.1.11) 56(84) bytes of data.64 bytes from worker-01 (192.168.1.11): icmp_seq=1 ttl=64 time=0.321 ms
三、依赖环境安装
3.1 基础工具链
安装开发工具包和常用命令行工具:
yum install -y epel-releaseyum groupinstall -y "Development Tools"yum install -y wget curl ntpdate java-1.8.0-openjdk-devel
3.2 时间同步配置
集群节点间时间偏差需控制在500ms以内,建议使用NTP服务同步:
# 安装服务yum install -y ntp# 配置主节点echo "server ntp.aliyun.com iburst" > /etc/ntp.conf# 启动服务systemctl enable ntpd --now# 验证同步状态ntpq -p
3.3 免密登录配置
管理节点需配置到所有节点的SSH免密登录:
# 生成密钥对ssh-keygen -t rsa -b 2048# 分发公钥ssh-copy-id -i ~/.ssh/id_rsa.pub root@worker-01# 验证登录ssh root@worker-01 "hostname"
四、Ambari服务部署
4.1 仓库配置
添加官方YUM仓库(需替换为有效仓库地址):
cat > /etc/yum.repos.d/ambari.repo <<EOF[ambari-3.0]name=Ambari 3.0baseurl=http://public-repo-1.hortonworks.com/ambari/centos7/3.0.0.0-1634/gpgcheck=0enabled=1EOF
4.2 服务端安装
在管理节点执行安装命令:
yum install -y ambari-server# 执行初始化配置ambari-server setup -s
配置过程中需指定:
- JDK安装路径(建议使用系统自带OpenJDK)
- 数据库类型(默认使用嵌入式PostgreSQL)
- 管理员密码(建议设置复杂密码)
4.3 客户端安装
在所有节点安装客户端包:
yum install -y ambari-agent# 修改agent配置指向管理节点sed -i "s/hostname=localhost/hostname=master-01/" /etc/ambari-agent/conf/ambari-agent.ini# 启动服务systemctl enable ambari-agent --now
五、集群搭建实战
5.1 Web控制台访问
通过浏览器访问http://master-01:8080,使用默认账号admin/admin登录。首次登录需完成向导配置:
- 指定集群名称(如ProductionCluster)
- 选择版本(当前支持HDFS/YARN/MapReduce等组件)
- 配置节点映射关系
5.2 服务组件配置
在”Customize Services”阶段需重点关注:
- HDFS配置:设置NameNode数据目录、副本数(建议3)
- YARN配置:调整NodeManager内存参数(建议为物理内存的80%)
- 告警阈值:设置磁盘空间、内存使用率等关键指标
5.3 部署验证
完成配置后点击”Deploy”按钮,系统将自动完成以下操作:
- 下载组件安装包
- 执行预安装检查
- 启动服务进程
- 运行健康检查
可通过以下命令验证服务状态:
# 查看HDFS状态hdfs dfsadmin -report# 查看YARN状态yarn node -list# 查看Ambari Agent状态ambari-agent status
六、常见问题处理
6.1 安装卡在99%
通常是由于网络问题导致依赖包下载失败,解决方案:
- 检查
/var/log/ambari-server/ambari-server.log日志 - 手动下载卡住的RPM包并放置到
/var/lib/ambari-server/resources/repos/目录 - 重启服务
ambari-server restart
6.2 组件启动失败
常见于配置参数错误,处理步骤:
- 检查
/var/log/<service>目录下的错误日志 - 通过Ambari Web修改错误参数
- 执行”Restart All”操作
6.3 节点添加失败
确保:
- 节点间网络互通
- 免密登录配置正确
- 防火墙已开放必要端口(8080/8440/8441等)
通过以上系统化的部署流程,运维人员可以高效完成Ambari集群的搭建工作。建议将配置文件纳入版本控制,建立标准化的部署模板,后续可通过蓝绿部署等方式实现集群的平滑升级。对于大规模集群,建议结合监控系统建立自动化运维体系,实现故障的自愈和资源的动态调度。