【托管】MIT KDC 高可用部署与验证生产推荐
# 托管 MIT KDC 高可用部署与验证
多节点模式会部署 1 个主 KDC 和 1~2 个副本 KDC。副本同步认证数据库并提供票据服务,主节点故障时集群仍可以签发票据;Principal 创建、密码修改等管理写入仍由主 KDC 承担。
完成后,Kerberos 管理页应明确显示“平台托管 KDC”“高可用”和全部认证节点,不要只根据主机上存在 krb5kdc 进程推断 HA 已完成。

这两个能力要分开理解:票据服务可用,不等于管理写入已经自动切换。
# 规划主副本
平台允许至少 2 台健康主机组成高可用拓扑。如果条件允许,我更建议使用 3 台 KDC 节点,避免维护其中一个副本时重新形成单点。
| 角色 | 示例主机 | 职责 |
|---|---|---|
| 主 KDC | hadoop1.test.com | 承担管理写入并提供票据服务。 |
| 副本 KDC 1 | hadoop2.test.com | 同步认证数据库并提供票据服务。 |
| 副本 KDC 2 | hadoop3.test.com | 作为第二个副本,提升维护窗口的冗余度。 |
笔记
如果 Ambari Plus Server 也运行在 hadoop1.test.com,示例中可以复用这台主机。生产环境是否混部,应根据资源隔离、故障域和运维规范决定,不要只照抄示例主机分配。
# 新集群直接选择高可用
进入 权限与审计 → Kerberos → 进入 Kerberos 向导,选择 在集群主机上安装认证中心。在部署拓扑中选择 高可用,然后配置:
- 选择 1 台主 KDC。
- 选择 1~2 台副本 KDC,副本不能与主节点重复。
- 填写大写 Realm,例如
TEST.COM。 - 保持由平台管理客户端认证配置。
- 设置独立的 KDC 管理账号和强密码。
页面只会列出已纳管主机;可用主机少于 2 台时,高可用选项不会开放。
# 从单节点升级为多节点
已经启用单节点 Kerberos 时,从 Kerberos 管理页进入 调整认证中心,选择 升级为托管 KDC 高可用。
警告
这不是给现有 KDC 在线追加副本。系统会先安全结束当前认证中心生命周期,切回非 Kerberos 模式,再按新拓扑重新启用。请准备完整维护窗口,并先确认恢复条件。
调整页面会展示当前认证中心来源、当前拓扑和目标拓扑。只有平台确认当前认证中心属于平台托管时,升级入口才会开放;显示“来源待确认”时应先修复现场归属,不能强行继续。

点击当前配置可以查看主 KDC、副本 KDC、运行状态文件和审计账号规则。主节点与副本节点不能重复,所有主机都应使用 FQDN。

# 预检与执行计划
多节点模式比单节点多出两类关键检查:
| 检查 | 通过标准 |
|---|---|
| 主副本主机条件 | Agent 在线,FQDN、时间同步、软件源和 KDC 端口满足要求。 |
| 拓扑唯一性 | 主节点与副本不重复,至少存在 1 个副本。 |
| 副本初始化 | 副本能够从主 KDC 获取并加载认证数据库。 |
| 拓扑验证 | 主 KDC 与各副本都可以提供预期的认证能力。 |
执行计划会在初始化 Realm 和创建管理账号后增加“配置 KDC 副本”和“验证 KDC 拓扑”。这两步没有完成时,不要把“Kerberos 已启用”当作多节点部署已经闭环。
# 验证多节点结果
向导完成后,我会从三个层面验收:
# 页面状态
- 认证中心来源显示平台托管。
- 部署拓扑显示高可用。
- 主 KDC 与全部副本 KDC 都出现在拓扑中。
- KDC 管理入口可用,没有“来源待确认”或“拓扑待确认”。
# 复制状态
- 主副本角色清晰,副本上游指向正确。
- 认证数据库序列号持续收敛,没有长期落后。
- 时间同步、正反向解析与端口检查没有阻断项。
# 故障边界
- 停止主 KDC 的票据服务后,客户端仍能通过副本获取票据。
- 恢复主 KDC 后,复制重新收敛。
- Principal 创建或密码修改仍按平台给出的行政主节点执行。
日常故障演练、备份和密钥轮换统一从 KDC 运维 进入,先选择动作并阅读影响范围,不直接登录主机修改 KDC 数据库。

注意
故障演练必须安排维护窗口,并通过平台提供的 KDC 管理和切换入口执行。不要直接停止所有 KDC、删除数据库文件或手工改写主副本角色。
如果企业认证中心不由 Ambari Plus 托管,请改看 外部 MIT KDC 接入。