我一直在Ubuntu 20.04.1 LTS上使用Hadoop集群设置Kerberos,在更改所有配置文件并设置所有内容(包括主体和密钥表)后,当我尝试在命令行中重新格式化namenode时,我遇到了错误: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”。密钥表存储在/etc/security/keytabs中,当使用klist -t -k -e检查密钥表时,密钥表具有正确的主体“hdfs/hadoopmaster.406bigdata.com”
我的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>
我也有Yarn设置与keytab和主体,并启动罚款(日志文件已检查,没有错误),并可以访问WebUI。
已尝试更改根目录以外的keytab的文件路径,已仔细检查/etc/hosts文件,该文件具有正确的权限和所有权,但未解决此问题。
1条答案
按热度按时间3qpi33ja1#
当你
su hdfs
并尝试使用keytab时会发生什么?--〉hdfs用户有权限访问该文件吗?