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]成功!
但是在hadoopkerberos调试输出中,它总是说“接收超时”。
krbasreq调用createmessage
createmessage中的krbasreq
krbkdcreq发送:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,重试次数=3,#字节=216
kdc通信:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,尝试=1,#字节=216
尝试的sockettimeoutexception:1
kdc通信:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,尝试=2,#字节=216
尝试的sockettimeoutexception:2
kdc通信:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,尝试=3,#字节=216
尝试的sockettimeoutexception:3
krbkdcreq send:尝试symbio5.us-west-1.compute.internal java.net.sockettimeoutexception时出错:接收超时
但是在symbio5本身上,它有namenode、kdc和datanode,这是可以的。
krbasreq调用createmessage
createmessage中的krbasreq
krbkdcreq发送:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,重试次数=3,#字节=217
kdc通信:kdc=symbio5.us-west-1.compute.internaludp:88,超时=30000,尝试=1,#字节=217
krbkdcreq send:#读取字节数=776
krbkdcreq send:#读取字节数=776
kdcacaccessibility:删除symbio5.us-west-1.compute.internal
有人能帮我吗?非常感谢。
1条答案
按热度按时间erhoui1w1#
最后我解决了这个问题,只是让hadoop使用tcp端口与kerberos通信,而不是udp。
sudo vim/etc/krb5.conf文件
...
[默认值]
...
udp\首选项\限制=1
...