当hadoop集群被kerberized时无法访问hdfs

6tqwzwtp  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(393)

我成功地测试了hortonworks集群。ambari为服务创建了keytab,它们都启动了。namenodes有ha。备用namenode启动快,而活动namenode需要更长的时间。namenodeui显示一切都是正确的。可以使用kerberos登录。名称节点是nn1.zim.com和nn2.zim.com
这种配置有什么问题?作为hdfs登录,用kinit-kt加载keytab。在列表hdfs尝试中,我得到以下错误:
[root@nn1 hdfs]#hdfs dfs-ls/18/12/02 16:18:22 warn ipc.client:连接到服务器时遇到异常:javax.security.sasl.saslexception:gss initiate failed[由gsse异常引起:未提供有效凭据(机制级别:找不到任何kerberos tgt)]18/12/02 16:18:22 info retry.retryinvocationhandler:java.io.ioexception:本地异常失败:java.io.ioexception:javax.security.sasl.saslexception:gss initiate失败[由gssexception引起:未提供有效凭据(机制级别:找不到任何kerberos tgt)];主机详细信息:本地主机是:“nn1。zim.com/192.168.50.10“;目的主机是:“nn2.zim.com”:8020,在尝试1次故障转移后,通过nn2.zim.com/192.168.50.11:8020调用g clientnamenodeprotocoltranslatorpb.getfileinfo时。在睡眠1123ms后尝试故障转移。
主机的kerberos主体是:
nn1.zim.com/192.168.50。10@zim.com nn1.zim。com@zim.com nn2.zim.com/192.168.50。11@zim.com nn2.zim。com@zim.com 主机/nn1.zim。com@zim.com 主机/nn2.zim。com@zim.com
krb5.cfg文件:
[日志]默认值=文件:/var/log/krb5libs.log
kdc=文件:/var/log/krb5kdc.log
admin\u server=文件:/var/log/kadmind.log
[libdefaults]dns\u lookup\u realm=false
车票寿命=24小时续订寿命=7天
forwardable=真
rdns=false默认值\u realm=zim.com
默认\u ccache \u name=keyring:persistent:%{uid}
[realms]zim.com={
kdc=kb.zim.com
管理服务器=kb.zim.com
}
[领域]
.zim.com=zim.com
zim.com=zim.com

fcwjkofz

fcwjkofz1#

解决方案:必须为每个主机创建两个kerberos主体:fqdn和short。我只创建了fqdn(nn1.zim.com)-这就是问题的原因。在创建第二个主体(nn1)之后,一切都开始工作了。
当您使用active directory时,这两种类型的主体将在ad计算机对象创建时自动创建。

相关问题