Hi.
There is some mismatch here.. what is the expected ip address of this
> machine (or does it have multiple interfaces and properly routed)? Looking
> at the "Receiving Block" message DN thinks its address is 192.168.253.20 but
> NN thinks it is 253.32 (and client is able to connect using 253.32).
>
> If you want to find the destination ip that this DN is unable to connect
> to, you can check client's log for this block number.
>
Hmm, .253.32 is the client workstation (has only our test application with
core-hadoop.jar + configs).
The expected address of the DataNode should be 192.168.253.20.
According to what I seen, the problem is in DataNode itself - it just throws
the Datanoderegistration every so often:
2009-04-23 00:05:05,961 INFO org.apache.hadoop.dfs.DataNode: Receiving block
blk_7209884038924026671_8033 src: /192.168.253.32:42932
dest: /192.168.253.32:50010
2009-04-23 00:05:05,962 INFO org.apache.hadoop.dfs.DataNode: writeBlock
blk_7209884038924026671_8033 received exception java.net.NoR
outeToHostException: No route to host
2009-04-23 00:05:05,962 ERROR org.apache.hadoop.dfs.DataNode:
DatanodeRegistration(192.168.253.20:50010, storageID=DS-1790181121-127
.0.0.1-50010-1239123237447, infoPort=50075, ipcPort=50020):DataXceiver:
java.net.NoRouteToHostException: No route to host
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
at
org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:402)
at
org.apache.hadoop.dfs.DataNode$DataXceiver.writeBlock(DataNode.java:1255)
at
org.apache.hadoop.dfs.DataNode$DataXceiver.run(DataNode.java:1092)
at java.lang.Thread.run(Thread.java:619)
Regards.