【Ambari Plus】初始化集群

初始化集群

Ambari Server 启动以后,浏览器已经可以打开 Ambari Plus 登录页。这个时候不要急着装一堆大数据组件,我更建议先做一个最小闭环:创建集群、接入三台主机、安装基础协调服务,让 Web UI 能正式进入控制台。

本文示例环境沿用前面准备好的三台 FQDN:

角色 主机名
Ambari Server / 核心节点 hadoop1.test.com
Worker 节点 hadoop2.test.com
Worker 节点 hadoop3.test.com

这一篇先安装 ZOOKEEPER。它足够轻量,也能验证主机注册、仓库访问、组件安装、服务启动和 Service Check 是否完整跑通。HDFS、YARN、Hive、Ranger 这些服务,后面单独拆文章写会更清楚。

::: tip

截图里涉及 SSH 私钥的区域已经遮挡。真实操作时需要粘贴核心节点能免密登录目标主机的 PEM 私钥,文章里不展示私钥内容。

:::

1. 登录后进入安装向导

如果当前还没有可进入的集群,登录后会进入"准备初始化集群"页面。这里不是异常,而是新环境的正常入口。

页面上可以看到集群记录为 0、主状态为"未初始化",点击 进入安装向导

我在这里重点看三个点:

检查点 说明
当前版本 页面显示 Ambari Plus 3.0.1,说明 Web 资源加载正常
集群记录 新环境应为 0,已有集群则不会走这条初始化路径
初始化路径 状态检测完成后,下一步就是创建集群

2. 校准 Stack 和仓库地址

进入向导后,第一步是选择 Stack 和填写组件仓库 Base URL。本文使用 BIGTOP-3.2.0,仓库地址沿用前面 Nginx 本地文件服务暴露出来的地址:

text 复制代码
http://hadoop1.test.com/

填完以后点击 验证连通性。看到"仓库地址可达""Base URL 校验通过",再进入下一步。

这里我建议不要跳过验证。仓库地址看起来只是一个 URL,但后面所有组件安装都会从这里拿包。这个地方如果填错,后面报错通常会散落在 Agent 安装、组件安装、yum 缓存、RPM 依赖等多个环节里,排查成本会高很多。

3. 填写主机和 SSH 凭据

第二步填写集群名称、目标主机、SSH 用户、SSH 端口和私钥。

本文示例填写:

配置项 示例值
集群名称 Ttbigdata
目标主机 hadoop[1-3].test.com
SSH 用户 root
SSH 端口 52207
SSH 私钥 使用核心节点能登录三台目标主机的 PEM 私钥

::: note

常规内网环境 SSH 端口多为 22。本文示例环境的 SSH 服务监听在 52207,所以向导里填写 52207。这里填的是 Ambari Server 连接目标主机时使用的端口,不是浏览器访问 Web UI 的端口。

:::

主机支持范围写法,hadoop[1-3].test.com 会解析成三台主机。确认页面显示"目标主机:3 台",并且右下角按钮变成 启动 Bootstrap

我在实际部署时会先在核心节点命令行做一次免密验证,避免把问题拖到 Web UI:

bash 复制代码
for h in hadoop1.test.com hadoop2.test.com hadoop3.test.com; do
  ssh -p 52207 -o BatchMode=yes "$h" "hostname -f"
done

如果你的环境使用默认 22 端口,把 -p 52207 换成 -p 22,或者直接省略 -p

4. 等待 Bootstrap 完成

点击 启动 Bootstrap 后,向导会进入确认主机页面。这个阶段会安装和注册 Agent,并把主机接入结果回传到页面。

等到三台主机都显示"已完成接入",整体进度为 100%,并且失败主机为 0,再继续下一步。

如果这里卡住,我一般先看三个方向:

现象 优先检查
主机一直进行中 目标主机 SSH 端口、私钥权限、sudo/root 权限
主机失败 点击单台主机的日志,看认证失败还是包安装失败
Agent 无法注册 ambari-agent.ini 的 Server 地址、主机名解析、时间同步

5. 选择本次要安装的服务

进入服务选择页后,本次只保留最小初始化服务。本文安装 ZOOKEEPER,先让基础协调服务跑起来。

这个选择看起来很克制,但我觉得更适合写教程:初始化集群先验证主机、仓库和服务安装链路;等这条链路稳定,再继续安装 HDFS、YARN、Hive 等组件。一次性把所有服务都勾上,失败时很难判断第一个问题从哪里开始。

6. 分配 Master 组件

Master 分配页会把 ZOOKEEPER_SERVER 分配到三台主机,形成三节点 quorum。

三节点 ZooKeeper 是比较常见的入门配置。它比单节点更接近生产形态,也能顺便验证三台主机都能安装、启动和参与服务检查。

7. 分配 Client 组件

Slave/Client 页面里没有需要分配的 Slave 组件,ZOOKEEPER_CLIENT 默认分配到三台主机。

Client 组件不是每个服务都必须铺满所有节点,但 ZooKeeper Client 放在三台机器上问题不大。后续安装 HDFS、YARN、Hive 时,Client 分配就需要结合实际使用入口再决定。

8. 检查自定义配置

自定义配置页会根据当前服务和主机自动推荐一批参数。本文这里没有待填写项,ZooKeeper directory 推荐为:

text 复制代码
/hadoop/zookeeper

这里不建议为了"看起来专业"随意改参数。刚开始只要确认没有待填写项,目录符合自己的磁盘规划即可。等服务跑起来以后,再单独做容量、日志、端口和性能参数优化。

9. 确认服务规划

确认服务页会汇总本次新增服务、Client 分配和配置校验结果。本文这里可以看到新增服务为 ZOOKEEPER,Client 分配到三台主机,必填项已填写。

这一页适合停一下,确认自己没有误选太多服务。特别是第一次安装时,我建议先把服务范围控制住,等基础链路稳定以后再扩展。

10. 最终确认并开始安装

确认部署页会列出集群名、Stack 版本、主机列表和服务清单。确认无误后点击 开始安装

点击以后会立即创建集群并触发安装任务,这一步就不再是单纯的页面配置了。

11. 观察安装进度

安装进度页会按主机展示组件任务。刚开始时可以看到各主机任务进入执行中,页面会持续刷新。

安装完成后,页面显示整体进度 100%,三台主机完成,异常主机为 0。本文这次还跑过了 ZOOKEEPER_QUORUM_SERVICE_CHECK

这一步看起来只是进度条完成,但我会重点看四个结果:

结果 期望值
整体进度 100%
已完成主机 3
异常主机 0
Service Check ZOOKEEPER_QUORUM_SERVICE_CHECK 完成

12. 回到控制台确认服务入口

点击 进入集群 后,页面会进入 Ambari Plus 控制台。本文示例进入了"服务与组件"页面,可以看到服务总数为 1ZOOKEEPER 处于运行中。

到这里,第一个集群已经初始化完成。