NameNode 格式错误"failure to login for principal: X from keytab Y: Unable to obtain password from user"



我一直在Ubuntu 20.04.1 LTS上与我的Hadoop集群设置Kerberos,当我试图在命令行中重新格式化namenode后更改所有配置文件并设置一切(包括主体和keytab),我遇到了错误:

Exiting with status 1: org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hdfs/hadoopmaster.406bigdata.com@406BIGDATA.COM from keytab /etc/security/keytabs/hdfs.service.keytab javax.security.auth.login.LoginException: Unable to obtain password from user

这发生在我的主节点上,主机名为"hadoopmaster"。keytab存储在/etc/security/keytab中,当使用klist -t -k -e检查keytab时,keytab具有正确的principal "hdfs/hadoopmaster.406bigdata.com@406BIGDATA">

我的hdfs-site.xml文件包含以下属性(包括更多,但不包括在下面的代码中,因为不应该与错误相关):

<property>
<name>dfs.namenode.keytab.file</name>
<value>/etc/security/keytabs/hdfs.service.keytab</value>
</property
<property>
<name>dfs.namenode.kerberos.principal</name>
<value>hdfs/hadoopmaster.406bigdata.com@406BIGDATA.COM</value>
</property>

我也有纱线设置keytab和主体,启动良好(日志文件已检查,没有错误),可以访问web。

尝试更改根目录外的keytab文件路径,仔细检查/etc/hosts文件,该文件具有正确的权限和所有权,但没有任何帮助解决问题。

当您su hdfs并尝试使用keytab时会发生什么?——比;HDFS用户是否有权限访问该文件?