我为 HDFS 配置了 kerberos 身份验证,我可以使用我自己的 keytab 文件来访问 HDFS 集群中任何机器上的 HDFS。但是当我使用相同的 keytab 访问 HDFS 集群外的远程服务器上的 HDFS 时,我无法访问。我收到以下错误消息,顺便说一下,我已经将服务器的配置文件 krb5.conf 复制到了 hadoop 集群外的远程机器上。
java.io.IOException:本地异常失败:java.io.IOException:javax.security.sasl.SaslException:GSS启动失败[由GSSException引起:未提供有效凭据(机制级别:找不到任何Kerberos tgt)];主机详情:本地主机为:“ubuntu/10.235.6.156”;目标主机是:“node0”:21200;在 org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:759) 在 org.apache.hadoop.ipc.Client.call(Client.java:1164) 在 org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker .invoke(ProtobufRpcEngine.java:202) at $Proxy9.getFileInfo(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:628) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method ) 在 sun.reflect.NativeMethodAccessorImpl。