Monitor 安装3.0.2
# Monitor 安装
前面已经把 Ambari Plus 主体平台、基础组件、IoTDB 和 Monitor 元数据库 DDL 准备好,这里开始安装 AMBARI_PLUS_MONITOR 服务。Monitor 本身由 Platform API、Ingester、Rule Engine 和 Agent 组成:API 提供监控后端入口,Ingester 接收和写入指标,Rule Engine 负责规则计算,Agent 分布在主机上采集基础指标。
本文继续使用三台 FQDN 主机:
| 主机 | 本次 Monitor 角色 |
|---|---|
hadoop1.test.com | AMBARI_PLUS_INGESTER、AMBARI_PLUS_AGENT |
hadoop2.test.com | AMBARI_PLUS_PLATFORM_API、AMBARI_PLUS_AGENT |
hadoop3.test.com | AMBARI_PLUS_RULE_ENGINE、AMBARI_PLUS_AGENT |
安装前先确认两件事:
| 前置项 | 文章 |
|---|---|
| IoTDB 已启动 | IoTDB 安装与部署 |
| Monitor 元数据库已初始化 | 【必须】ambari plus monitor 数据库初始化文件 |
提示
本文数据库示例继续使用 MySQL / MariaDB,地址是 hadoop1.test.com,演示账号为 root / root。生产环境建议使用高复杂度密码和专用账号。
Ambari Plus 3.0.2
3.0.2 的 Monitor 配置页支持 IoTDB 单节点与集群入口,也支持客户自建运行用户。页面会根据是否自动创建数据库给出对应授权语句,并在安装前检查连接、数据库和有效权限。
# 1. 选择 Ambari Plus Monitor 服务
进入 服务与组件,点击 新增服务。在服务列表里勾选 Ambari Plus Monitor VIP,版本显示为 1.0.0。

这个服务不要和其他大组件混在一起安装。Monitor 涉及元数据库、IoTDB、KDC 凭据和多个运行角色,单独安装更容易定位问题。
# 2. 确认 Master 分配
进入 Master 分配页后,页面会自动给三个 Master 角色选择主机。

本文环境使用下面的分配方式:
| 组件 | 主机 | 说明 |
|---|---|---|
AMBARI_PLUS_INGESTER | hadoop1.test.com | 接收 Agent 指标并写入 IoTDB。 |
AMBARI_PLUS_PLATFORM_API | hadoop2.test.com | 提供 Monitor 后端 API。 |
AMBARI_PLUS_RULE_ENGINE | hadoop3.test.com | 负责阈值规则计算。 |
小集群里这样拆开角色,方便看清各组件职责。生产环境可以再结合资源、可用性和访问入口做独立规划。
# 3. 确认 Agent 覆盖主机
Slave 分配页会出现 AMBARI_PLUS_AGENT。这里建议三台主机全部勾选,让 Monitor 能采到每台机器的基础指标。

本文分配结果如下:
| 组件 | 主机 |
|---|---|
AMBARI_PLUS_AGENT | hadoop1.test.com、hadoop2.test.com、hadoop3.test.com |
如果后续新增主机,也要记得给新主机补装 Agent,否则服务能运行,但主机指标会缺口。
# 4. 填写元数据库连接
进入自定义配置页后,先看 元数据库 页签。本文让 Monitor 元数据库跟随 Ambari Server 数据库实例,库名仍然是 ambari。

本次填写如下:
| 配置项 | 本文示例值 | 说明 |
|---|---|---|
| 跟随 Ambari Server 数据库实例 | 开启 | Monitor 表和 Ambari 官方表放在同一个 ambari 库。 |
| 元数据库类型 | MySQL | MariaDB 也按 MySQL 类型填写。 |
| 元数据库地址 | hadoop1.test.com | 使用 FQDN。 |
| 元数据库端口 | 3306 | MySQL / MariaDB 默认端口。 |
| 元数据库名称 | ambari | 前面已经导入 Monitor DDL 的库。 |
| 元数据库用户 | root | 教程环境演示用。 |
| 元数据库密码 | root | 教程环境演示用,页面里会隐藏显示。 |
这里最容易填错的是库名。Monitor DDL 必须导入 ambari,向导里也要填写 ambari,两边保持一致。
# 5. 填写 IoTDB 连接
切换到 IoTDB 存储 页签,填写前面 IoTDB 文章里准备好的连接信息。

# 5.1 选择连接模式
本文使用单节点入口,填写 hadoop1.test.com:26667。如果 IoTDB 已经部署为集群,可以选择集群模式,并填写多个 DataNode RPC 地址;Monitor 会使用节点列表建立连接池。
| 配置项 | 本文示例值 | 说明 |
|---|---|---|
| IoTDB Connection Mode | 单节点 IoTDB | 集群部署时选择高可用 IoTDB 集群。 |
| IoTDB Host | hadoop1.test.com | IoTDB DataNode 所在主机。 |
| IoTDB Port | 26667 | DataNode RPC 端口。 |
| IoTDB 运行用户 | root | 教程环境使用默认用户;生产环境可以填写客户自建用户。 |
| IoTDB 运行用户密码 | root | 教程环境使用默认密码,页面里会隐藏显示。 |
| IoTDB 指标数据库 | root.monitor | Monitor 指标写入的数据库路径。 |
| 启动时自动创建 IoTDB 数据库 | 开启 | 教程环境由 Monitor 自动创建;生产环境使用专用用户时建议改为关闭。 |
集群模式下不再填写单个 Host 和 Port,而是在 IoTDB Cluster Node URLs 中按逗号分隔多个入口,例如:
iotdb1.test.com:26667,iotdb2.test.com:26667,iotdb3.test.com:26667
# 5.2 使用客户自建用户 3.0.2+
3.0.2 支持把 Monitor 的 IoTDB 运行账号从 root 换成客户自建用户。生产环境推荐由管理员提前创建 root.monitor,然后关闭 启动时自动创建 IoTDB 数据库。这种模式下,运行用户不需要 MANAGE_DATABASE,只需要指标路径的最小权限:
GRANT READ_DATA, WRITE_DATA, READ_SCHEMA, WRITE_SCHEMA
ON root.monitor.** TO USER monitor_user;
2
也可以先把权限授给角色,再把角色分配给用户:
GRANT READ_DATA, WRITE_DATA, READ_SCHEMA, WRITE_SCHEMA
ON root.monitor.** TO ROLE IOTDB;
GRANT ROLE IOTDB TO monitor_user;
2
3
4
如果保持自动创建开启,还需要额外授权:
GRANT MANAGE_DATABASE ON root.** TO USER monitor_user;
注意
授权路径要写成 root.monitor.**,不能只写 root.monitor。Monitor 会在该数据库下面继续创建主机、服务和指标时序,精确路径授权无法覆盖这些子路径。
完整的建库、角色和用户准备步骤可以回到 IoTDB 安装与部署 查看。
# 5.3 测试连接与权限
填写完成后,点击 测试 IoTDB 连接与权限。这项预检使用页面当前账号做只读检查,不会创建测试时序,也不会向客户指标空间写入测试数据。
页面会逐项确认:
| 检查项 | 通过标准 |
|---|---|
| 连接与认证 | 可以连接 IoTDB,并能读取版本信息。 |
| 目标数据库 | root.monitor 已存在;或者已开启自动创建。 |
| 指标读写权限 | 用户直接权限或角色继承权限中,包含 root.monitor.** 的 READ_DATA、WRITE_DATA、READ_SCHEMA、WRITE_SCHEMA。 |
| 自动建库权限 | 仅在自动创建开启时要求 root.** 上的 MANAGE_DATABASE。 |
页面显示 预检通过 后再继续安装。若用户名刚从原账号改成自建用户,需要重新输入新用户密码;页面不会拿旧账号保存的密码去测试新用户。
完成 IoTDB 预检后再点击 重新校验。顶部显示 待填写 0,并且配置项为已推荐状态,就可以进入下一步。
# 6. 通过配置校验
配置页顶部会显示本次配置校验结果。本文环境中 待填写 为 0,说明必填项都已经补齐。

如果这里还有待填写项,不要直接跳过。建议先用搜索框定位配置名,把数据库、IoTDB、端口、用户和密码补齐后再继续。
# 7. 确认安装清单
确认页会汇总新增服务、Master、Slave 和配置检查结果。

本次确认结果如下:
| 检查项 | 本次结果 |
|---|---|
| 新增服务 | AMBARI_PLUS_MONITOR |
| Master 分配 | Ingester、Platform API、Rule Engine 分别放到三台主机。 |
| Agent 分配 | 三台主机全部安装 Agent。 |
| 元数据库 | hadoop1.test.com:3306/ambari |
| IoTDB | hadoop1.test.com:26667/root.monitor |
确认无误后点击 开始安装。
# 8. 提交 KDC 管理员凭据
当前集群已经开启 Kerberos,新增 Monitor 时会弹出 KDC 管理员凭据窗口。这里填写的是 KDC 管理员 Principal 和密码,用于生成 Monitor 组件需要的 principal 与 keytab。

密码在页面里会隐藏显示。提交后,向导会继续执行安装任务。
# 9. 等待安装进度
安装进度页会按主机展示任务。可以看到三台主机都在执行 AMBARI_PLUS_AGENT 安装,同时 Master 组件会按分配主机依次安装。

这一页重点看失败数。如果失败数一直是 0,任务会继续向后推进;如果某台主机失败,先点开该主机的 日志,通常能看到数据库连接、IoTDB 连接、KDC 凭据或 RPM 包安装相关错误。
# 10. 安装后确认服务状态
安装完成并启动服务后,回到 服务与组件,搜索 AMBARI_PLUS_MONITOR。服务卡片里可以看到四个组件均为运行中。

本文环境里确认到:
| 组件 | 状态 |
|---|---|
Ambari Plus Platform API | 运行中 |
Ambari Plus Ingester | 运行中 |
Ambari Plus Rule Engine | 运行中 |
Ambari Plus Agent | 运行中 |
我还会在服务端确认配置已经写入运行目录,重点看元数据库、IoTDB 和 storage group。

到这里,Ambari Plus Monitor 的安装链路就完成了。下一篇可以继续进入 Monitor 的日常使用:看指标采集、阈值策略、通知渠道和告警历史。