0

Hadoop datanode 无法与 KDC 通信,但 kinit 可以工作。

sudo kinit -k -t /etc/hadoop/conf/hdfs.keytab hdfs/symbio5.us-west-1.compute.internal@US-WEST-1.COMPUTE.INTERNAL

UDP端口也可以。

nc symbio5.us-west-1.compute.internal -v -z -u 88

连接到 symbio5.us-west-1.compute.internal 88 端口 [udp/kerberos] 成功!

但是在 hadoop kerberos 调试输出中,它总是说“接收超时”。

KrbAsReq 调用 createMessage

createMessage 中的 KrbAsReq

KrbKdcReq 发送:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,重试次数=3,#bytes=216

KDCCommunication:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,尝试=1,#bytes=216

SocketTimeOutException 尝试:1

KDCCommunication:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,尝试=2,#bytes=216

SocketTimeOutException 尝试:2

KDCCommunication:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,尝试=3,#bytes=216

SocketTimeOutException 尝试:3

KrbKdcReq 发送:尝试 symbio5.us-west-1.compute.internal java.net.SocketTimeoutException 时出错:接收超时

但是在 symbio5 本身上,它有 Namenode 和 KDC 和一个 datanode,没关系。

KrbAsReq 调用 createMessage

createMessage 中的 KrbAsReq

KrbKdcReq 发送:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,重试次数=3,#bytes=217

KDCCommunication:kdc=symbio5.us-west-1.compute.internal UDP:88,超时=30000,尝试=1,#bytes=217

KrbKdcReq 发送:#bytes read=776

KrbKdcReq 发送:#bytes read=776

KdcAccessibility:删除 symbio5.us-west-1.compute.internal

任何人都可以给我一些帮助吗?非常感谢。

4

1 回答 1

4

最后我解决了这个问题,只是让 Hadoop 使用 TCP 端口与 Kerberos 通信,而不是 UDP。

须藤 vim /etc/krb5.conf

...

[libdefaults]

...

udp_preference_limit =1

...

于 2013-05-23T04:27:36.883 回答