点击卡片“大数据实战演练”,选择“设为星标”或“置顶”
回复“资料”可领取独家整理的大数据学习资料!
回复“Ambari知识库”可领取独家整理的Ambari学习资料!
大家好,我是create17,见字如面。
今天又重温了一下Kerberos,解决了一个问题,特此梳理记录一下,万一有小伙伴遇到也可以参考。
那希望我接下来的分享给大家带来一些帮助和启发🤔
一、问题描述
Ambari 启动 Kerberos 向导,提示凭据无效:Invalid KDC administrator credentials. Please enter admin principal and password.
Admin principal: 填写你自定义创建的 principal。
例如:admin/admin@EXAMPLE.COM,也可以省略@EXAMPLE.COM,可直接填写 admin/admin。Admin password:填写自定义创建 principal 时的密码。
但在 Kerberos KDC Server 所在节点,执行 kinit admin/admin@EXAMPLE.COM 是可以认证通过的。
二、初步尝试
弹窗提示后,打开F12,能看到发送失败的请求,提示:
{
"status" : 400,
"message" : "Invalid KDC administrator credentials.\nThe KDC administrator credentials must be set as a persisted or temporary credential resource.This may be done by issuing a POST (or PUT for updating) to the /api/v1/clusters/:clusterName/credentials/kdc.admin.credential API entry point with the following payload:\n{\n \"Credential\" : {\n \"principal\" : \"(PRINCIPAL)\", \"key\" : \"(PASSWORD)\", \"type\" : \"(persisted|temporary)\"}\n }\n}"
}
查看 /var/log/ambari-server/ambari-server.log 日志,也有所发现:
所以根据提示:
查看kdc.admin.credential(已尝试不行,可不做)
curl -H "X-Requested-By:ambari" -u "admin:admin" -X GET http://${ambari-server}:8080/api/v1/clusters/${clusterName}/credentials/kdc.admin.credential
删除kdc.admin.credential(已尝试不行,可不做)
curl -H "X-Requested-By:ambari" -u "admin:admin" -X DELETE http://${ambari-server}:8080/api/v1/clusters/${clusterName}/credentials/kdc.admin.credential
重新添加kdc.admin.credential(已尝试不行,可不做)
curl -H "X-Requested-By:ambari" -u "admin:admin" -X POST -d '{"Credential" : {"principal" : "admin/admin", "key" : "admin","type" : "temporary"}}' http://${ambari-server}:8080/api/v1/clusters/${clusterName}/credentials/kdc.admin.credential
发现执行后,还是一样的报错。
三、问题解决
以下为问题解决办法,亲测有效。为鼓励作者继续创作,需要付费阅读。付费后可获取我的联系方式交流此问题,也可以直接访问链接:
https://mbd.pub/o/bread/Zpeclphr