我已将 kerberos
配置为从远程服务器访问 hdfs
,并且我能够进行身份验证并生成票证,但是当我尝试访问 hdfs
我收到一个错误:
09/02 15:50:02 WARN ipc.Client: Exception encountered while connecting to the server : java.lang.IllegalArgumentException: Server has invalid Kerberos principal: nn/hdp.stack.com@GLOBAL.STACK.COM
在我们的 krb5.conf
文件中,我们在不同的域下定义了 admin_server
和 kdc
:
DEV.STACK.COM = {
admin_server = hdp.stack.com
kdc = hdp.stack.com
}
为什么它默认为我们的 krb5
中定义的不同领域(GLOBAL.STACK.COM?)。我确保我们所有的 hadoop xml 文件都是@DEV.STACK.COM
有什么想法吗?非常感谢任何帮助!
最佳答案
在您的 KRB5 conf 中,您应该明确定义哪台机器属于哪个领域,从通用规则开始,然后添加异常(exception)。
例如
[domain_realm]
stack.com = GLOBAL.STACK.COM
stack.dev = DEV.STACK.COM
vm123456.dc01.stack.com = DEV.STACK.COM
srv99999.dc99.stack.com = DEV.STACK.COM
关于hadoop - 从远程服务器访问 hdfs 时,Kerberos 默认为错误的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378558/