Most likely that machine is affected by some firewall somewhere that prevents traffic on port 50075. The no route to host is a strong indicator, particularly if the Datanote registered with the namenode.
On Tue, Apr 21, 2009 at 4:18 PM, Philip Zeyliger <phi...@cloudera.com>wrote: > Very naively looking at the code, the exception you see is happening in the > write path, on the way to sending a copy of your data to a second data > node. One data node is pipelining the data to another, and that connection > is failing. The fact that "DatanodeRegistration" is mentioned in the > exception is a red herring: that's merely the text that the datanode prints > for every exception that's thrown during a server response. It's > frustrating that the exception message doesn't actually mention what host > it's trying to connect to. > > Some quick avenues for debugging: > > It sounds like you've identified a specific data node that isn't behaving. > Is the exception that you've pasted in coming from that DataNode or from > another? > > Can you tell if the DataNode is listening on the right ports? You might > try > "sudo netstat -pl | grep java" and check to see that the DataNode is > listening on 50010 (I believe that's the default). > > You might also try strace on the process that's showing the "no route to > host" error, to catch the system call fail. > > You could, of course, instrument the code to do a try/catch around the > relevant block in DataNode.java, to find out what host/port the connection > is failing on. > -- Alpha Chapters of my book on Hadoop are available http://www.apress.com/book/view/9781430219422