0

Hadoop データノードは KDC と通信できませんが、kinit は機能します。

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

UDPポートもOKです。

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

symbio5.us-west-1.compute.internal 88 ポート [udp/kerberos] への接続に成功しました!

しかし、hadoop kerberos デバッグ出力では、常に「受信タイムアウト」と表示されていました。

createMessage を呼び出す KrbAsReq

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 send: symbio5.us-west-1.compute.internal java.net.SocketTimeoutException: 受信タイムアウトの試行中にエラーが発生しました

しかし、Namenode と KDC と datanode を持つ symbio5 自体では問題ありません。

createMessage を呼び出す KrbAsReq

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 send: #bytes read=776

KrbKdcReq send: #bytes read=776

KdcAccessibility: symbio5.us-west-1.compute.internal を削除

誰か助けてくれませんか?どうもありがとう。

4

1 に答える 1

4

最後に、この問題を修正しました。Hadoop が UDP ではなく、TCP ポートを使用して Kerberos と通信するようにしました。

sudo vim /etc/krb5.conf

...

[libdefaults]

...

udp_preference_limit = 1

...

于 2013-05-23T04:27:36.883 に答える