hadoop - 从远程服务器访问 hdfs 时,Kerberos 默认为错误的主体

标签 hadoop kerberos

我已将 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_serverkdc:

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/

相关文章:

r - 在Cloudera CDH4上编译R包时GCC出错

exception - 索引 7 : hdfs://localhost:9000 with hadoop 处的权限中的非法字符

perl - 如何在 perl 中解密 Kerberos 票证

WCF 和 Kerberos 身份验证

hadoop - 大数据摄取 - Flafka 用例

python - 如何在地理上过滤 PySpark 中的条目?

powershell - 使用 Kerberos 进行机器身份验证时 CredSSP PowerShell session 失败

apache - 如何在 beeline 中指定 TGT kerberos 票证缓存

windows - IIS:对不在域中的客户端计算机使用 Kerberos

hadoop - 使用 Hadoop 将 word 文档转换为 pdf