2011-01-18 79 views
3

我已经建立了一个伪分布式Hadoop集群(与JobTracker的,一个的TaskTracker,和NameNode的都在同一箱)每教程说明和它的正常工作。我现在正在尝试将另一个节点添加到此群集中作为另一个任务跟踪器。的UnknownHostException上的TaskTracker在Hadoop集群

当我检查节点2上的日志时,除了tasktracker之外,所有日志都很好看。我收到了下面列出的错误消息的无限循环。似乎任务跟踪器试图使用主机名SSP-SANDBOX-1.mysite.com而不是IP地址。这个主机名不在/ etc/hosts中,所以我猜这是问题来自哪里。我没有root访问权限以便将其添加到/ etc/hosts。

是否有任何财产或配置,我可以改变,这样它会停止尝试使用主机名进行连接?

非常感谢,

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

简短的回答是,Hadoop的执行反向主机名查找,即使你在你的配置中指定的IP地址文件。在您的环境中,为了让Hadoop正常工作,SSP-SANDBOX-1.mysite.com必须解析为该机器的IP地址,并且该IP地址的反向查找必须解析为SSP-SANDBOX-1.mysite .COM。

所以你需要跟不管是谁管理这些机器要么捏造hosts文件或提供将做正确的事的DNS服务器。

+0

感谢您的帮助。我最终只是与管理员交谈,并让他们编辑/ etc/hosts文件以添加该计算机的主机名/ IP地址。它现在工作正常。 – knt 2011-01-19 21:20:17