【Ambari开启Kerberos】Step2-Ambari中开启Kerberos认证

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 接口调用 kadminkinit 来分发 keytab 与校验凭证。

二、进入 Kerberos 启用向导

打开 Ambari Web 管理页面,左侧导航栏中可看到 Kerberos 菜单项。

Ambari 左侧菜单 Kerberos 入口

点击进入后,页面会展示认证选项和配置向导。

三、选择认证模式(Existing MIT KDC)

Ambari 提供三种启用模式,分别对应:

  1. Existing MIT KDC — 使用外部已搭建的 KDC;
  2. Existing Active Directory — 集成 AD 域;
  3. Manual — 手动分发 keytab(高级用户使用)。

我们选择第一项:

认证方式选择:Existing MIT KDC

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

选择后默认勾选项

四、填写 KDC 与 Realm 参数

KDC/Realm 参数填写示意

根据 Step1 的配置,在此处填写:

KDC hosts : dev1
Realm name : TTBIGDATA.COM

Kadmin host : dev1
Admin principal: admin/admin@TTBIGDATA.COM
Admin password: admin

参数说明表

参数项示例值说明
KDC hostsdev1KDC 服务主机名
Realm nameTTBIGDATA.COM与 krb5.conf 中保持一致(必须大写)
Kadmin hostdev1KDC 管理端主机名
Admin principaladmin/admin@TTBIGDATA.COM管理员账户
Admin passwordadmin对应上一步创建时的密码

五、连接测试与错误处理

填写完成后点击 Test Connection,Ambari 将尝试执行一次 kinit 登录测试。

5.1 常见失败示例

连接测试失败示例

报错:

kinit.real: Server not found in Kerberos database while getting initial credentials

出现此问题通常有以下几种原因:

  1. KDC 未运行或端口被防火墙阻断(88/749)
  2. krb5.conf 的 default_realm 与此处填写不一致
  3. /etc/hosts 中未配置主机名映射(如 dev1)
  4. KDC 数据库中尚未创建 admin principal。

可回看之前的 Step1 文档重置配置:

相关参考

5.2 测试成功界面

连接测试通过

出现绿色对勾即表示 Ambari 已能正常与 KDC 通信。

六、加密类型适配与兼容性说明

在部分操作系统上,Ambari 与 KDC 默认的加密算法不兼容。
特别是在 非 CentOS 7.9Ubuntu 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 初始化与分发

Kerberos 执行阶段

该阶段 Ambari 会批量执行以下动作:

  1. 为每个组件生成 keytab;
  2. 向 KDC 写入 principal;
  3. 分发 keytab 至对应主机;
  4. 更新配置文件(core-site.xml, hdfs-site.xml 等)。

若出现轻微警告,可直接忽略并点击 Complete

十一、手动启动服务并验证结果

启用完成后,可看到以下界面:

完成页与手动启动提示

此时建议手动启动各组件。
若有少量组件启动失败,可根据错误日志对照下表进行修复。

十二、已知问题与修复索引

已知问题汇总
Ambari 2.8.x 在 Kerberos 启用后部分服务可能启动异常,主要与 Python2 兼容性和权限有关。

组件报错主题主要原因对应修复文档
Solr启动时报 HTTP 权限拒绝Ambari 自动初始化配置但未授权开启KERBEROS-SOLR启动报错解决
Kafka启动失败缺少环境变量环境变量定义未加载到进程上下文开启KERBEROS-KAFKA启动报错解决
CelebornWORK 目录无写入权限工作目录属主错误开启KERBEROS-CELEBORN启动报错解决
AtlasServer 启动 403principal 短名解析错误开启KERBEROS-ATLAS启动报错解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TTBIGDATA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值