danger 温馨提示
ttr-2.0.0 ~ ttr-2.2.0 版本存在部分安装失败问题。
从 ttr-2.2.1 版本开始,这一问题已被修复并通过多平台验证(包括 Kylin V10、CentOS 7.9、Ubuntu 22.04)。
如在部署中遇到异常,可联系作者进行技术交流。
一、背景与前置条件
写在前面
当前环境:Ambari 3.0.0 + Bigtop 3.2.0,系统为 Kylin V10,
对应安装包版本:ttr-2.2.1-preview,Ubuntu 22.04 也已验证通过。
在进入本章节前,你应已完成 KDC 服务的部署(详见 Step1)。
Kerberos 是大数据体系中最重要的认证协议之一,Ambari 启用 Kerberos 的本质,是让各组件(HDFS、YARN、Hive、Kafka、Atlas、Solr
等)能够通过 KDC 统一认证,从而防止伪造身份和非法访问。
Ambari 并不直接实现 Kerberos,而是作为协调者,通过 REST 接口调用 kadmin 与 kinit 来分发 keytab 与校验凭证。
二、进入 Kerberos 启用向导
打开 Ambari Web 管理页面,左侧导航栏中可看到 Kerberos 菜单项。

点击进入后,页面会展示认证选项和配置向导。
三、选择认证模式(Existing MIT KDC)
Ambari 提供三种启用模式,分别对应:
- Existing MIT KDC — 使用外部已搭建的 KDC;
- Existing Active Directory — 集成 AD 域;
- Manual — 手动分发 keytab(高级用户使用)。
我们选择第一项:

保持勾选所有选项(如自动生成 principal、启用服务检查等),然后点击 Next。

四、填写 KDC 与 Realm 参数

根据 Step1 的配置,在此处填写:
KDC hosts : dev1
Realm name : TTBIGDATA.COM
Kadmin host : dev1
Admin principal: admin/admin@TTBIGDATA.COM
Admin password: admin
参数说明表
| 参数项 | 示例值 | 说明 |
|---|---|---|
| KDC hosts | dev1 | KDC 服务主机名 |
| Realm name | TTBIGDATA.COM | 与 krb5.conf 中保持一致(必须大写) |
| Kadmin host | dev1 | KDC 管理端主机名 |
| Admin principal | admin/admin@TTBIGDATA.COM | 管理员账户 |
| Admin password | admin | 对应上一步创建时的密码 |
五、连接测试与错误处理
填写完成后点击 Test Connection,Ambari 将尝试执行一次 kinit 登录测试。
5.1 常见失败示例

报错:
kinit.real: Server not found in Kerberos database while getting initial credentials
出现此问题通常有以下几种原因:
- KDC 未运行或端口被防火墙阻断(88/749);
- krb5.conf 的 default_realm 与此处填写不一致;
- /etc/hosts 中未配置主机名映射(如 dev1);
- KDC 数据库中尚未创建 admin principal。
可回看之前的 Step1 文档重置配置:
相关参考
5.2 测试成功界面

出现绿色对勾即表示 Ambari 已能正常与 KDC 通信。
六、加密类型适配与兼容性说明
在部分操作系统上,Ambari 与 KDC 默认的加密算法不兼容。
特别是在 非 CentOS 7.9 与 Ubuntu 22.04 系统上,建议手动修改。

推荐加密算法
aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
提示
若不修改可能导致后续 Keytab 生成时报:
KDC has no support for encryption type while getting initial credentials
具体可以参考 加密类型错误导致的未知报错
七、管理员凭证验证与授权确认
Ambari 会再次请求管理员凭证进行验证:
admin/admin@TTBIGDATA.COM
admin
验证通过后界面如下:

说明 kinit 已成功在后台生成票据。此时 Ambari 内部会执行:
kinit -V -k admin/admin@TTBIGDATA.COM
并缓存 ticket 以供后续 keytab 创建使用。
八、预检与变更确认
Ambari 将展示即将应用的安全变更清单。

若所有配置无误,点击 Next 继续。
系统随后进入安全模式应用流程。

九、停止服务与凭证重建
启用 Kerberos 前,Ambari 会自动关闭所有服务组件,以便重新生成 keytab 并注册 principal。

停止进度监控

执行任务明细

完成后状态

Ambari 将在此阶段自动调用 kadmin 命令为各组件创建 principal,并分发 keytab 至对应路径(一般在 /etc/security/keytabs/)。
十、执行 Kerberos 初始化与分发

该阶段 Ambari 会批量执行以下动作:
- 为每个组件生成 keytab;
- 向 KDC 写入 principal;
- 分发 keytab 至对应主机;
- 更新配置文件(
core-site.xml,hdfs-site.xml等)。
若出现轻微警告,可直接忽略并点击 Complete。
十一、手动启动服务并验证结果
启用完成后,可看到以下界面:

此时建议手动启动各组件。
若有少量组件启动失败,可根据错误日志对照下表进行修复。
十二、已知问题与修复索引
已知问题汇总
Ambari 2.8.x 在 Kerberos 启用后部分服务可能启动异常,主要与 Python2 兼容性和权限有关。
| 组件 | 报错主题 | 主要原因 | 对应修复文档 |
|---|---|---|---|
| Solr | 启动时报 HTTP 权限拒绝 | Ambari 自动初始化配置但未授权 | 开启KERBEROS-SOLR启动报错解决 |
| Kafka | 启动失败缺少环境变量 | 环境变量定义未加载到进程上下文 | 开启KERBEROS-KAFKA启动报错解决 |
| Celeborn | WORK 目录无写入权限 | 工作目录属主错误 | 开启KERBEROS-CELEBORN启动报错解决 |
| Atlas | Server 启动 403 | principal 短名解析错误 | 开启KERBEROS-ATLAS启动报错解决 |

1万+

被折叠的 条评论
为什么被折叠?



