2011-01-18 6 views
3

チュートリアルの指示に従って擬似的に分散されたHadoopクラスタ(jobtracker、tasktracker、およびnamenodeをすべて同じボックスに設定しています)が正常に動作しています。私は今、別のタスクトラッカーとしてこのクラスターに2番目のノードを追加しようとしています。HadoopクラスタのtasktrackerでUnknownHostExceptionが発生しました

ノード2のログを調べると、すべてのログはタスクトラッカー以外は正常に見えます。私は以下のエラーメッセージの無限ループを得ています。タスクトラッカーがIPアドレスではなくホスト名SSP-SANDBOX-1.mysite.comを使用しようとしているようです。このホスト名は/ etc/hostsにありませんので、私はこれがどこから来ているのかと推測しています。私はこれを/ etc/hostsに追加するためにrootアクセス権を持っていません。

ホスト名を使用して接続しようとするのをやめるように変更できるプロパティまたは設定はありますか?

おかげで非常に多く、

2011-01-18 17:43:22,896 ERROR org.apache.hadoop.mapred.TaskTracker: 
Caught exception: java.net.UnknownHostException: unknown host: SSP-SANDBOX-1.mysite.com 
     at org.apache.hadoop.ipc.Client$Connection.<init>(Client.java:195) 
     at org.apache.hadoop.ipc.Client.getConnection(Client.java:850) 
     at org.apache.hadoop.ipc.Client.call(Client.java:720) 
     at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:220) 
     at $Proxy5.getProtocolVersion(Unknown Source) 
     at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:359) 
     at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:106) 
     at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:207) 
     at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:170) 
     at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:82) 
     at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1378) 
     at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) 
     at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390) 
     at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196) 
     at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175) 
     at org.apache.hadoop.mapred.TaskTracker.offerService(TaskTracker.java:1033) 
     at org.apache.hadoop.mapred.TaskTracker.run(TaskTracker.java:1720) 
     at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:2833) 

答えて

3

このブログの投稿は役に立つかもしれません:

http://western-skies.blogspot.com/2010/11/fix-for-exceeded-maxfaileduniquefetches.html

短い答えはあなたの設定でIPアドレスを指定した場合でも、Hadoopのは、ホスト名の逆引きを行うものですファイル。あなたの環境では、Hadoopを動作させるためには、SSP-SANDBOX-1.mysite.comがそのマシンのIPアドレスに解決されなければならず、そのIPアドレスの逆引きはSSP-SANDBOX-1.mysiteに解決されなければなりません.com。

これらのマシンを管理している人は誰でもホストファイルを見せたり、正しいことをするDNSサーバを提供したりする必要があります。

+0

ありがとうございました。私はちょうど管理者と話をして、/ etc/hostsファイルを編集して、そのマシンのホスト名/ IPアドレスを追加してもらいました。今はうまくいきます。 – knt

関連する問題