You should check the value of the configuration field
"fs.default.name"
on the remote data-node.
It should be a valid address and port # of the name-node.
Lipets Vladimir wrote:
I discovered the following problem trying setting up Hadoop cluster.
DataNode fails to connect with a NameNode, but
* It happened only with a DataNode connects from remote host, however
local DataNode connects properly
-------------------------------------------------------
2008-09-09 02:58:20,075 INFO org.apache.hadoop.ipc.Client: Retrying connect to
server: kariba.haifa.ibm.com/9.148.41.240:50000. Already tried 9 time(s).
2008-09-09 02:58:20,077 ERROR org.apache.hadoop.dfs.DataNode:
java.io.IOException: Call failed on local exception
at org.apache.hadoop.ipc.Client.call(Client.java:718)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:216)
at org.apache.hadoop.dfs.$Proxy4.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:319)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:306)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:343)
at org.apache.hadoop.ipc.RPC.waitForProxy(RPC.java:288)
at org.apache.hadoop.dfs.DataNode.startDataNode(DataNode.java:244)
at org.apache.hadoop.dfs.DataNode.<init>(DataNode.java:190)
at org.apache.hadoop.dfs.DataNode.makeInstance(DataNode.java:2987)
at
org.apache.hadoop.dfs.DataNode.instantiateDataNode(DataNode.java:2942)
at org.apache.hadoop.dfs.DataNode.createDataNode(DataNode.java:2950)
at org.apache.hadoop.dfs.DataNode.main(DataNode.java:3072)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at sun.nio.ch.SocketAdaptor.connect(Unknown Source)
at
org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:300)
at org.apache.hadoop.ipc.Client$Connection.access$1700(Client.java:177)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:789)
at org.apache.hadoop.ipc.Client.call(Client.java:704)
... 12 more
-----------------------------------------
* There is no firewall installed, for. example simple echo server works
fine on any ports
* Moreover, even telnet from remote computer to the port listened by the
NameNode fails, when local connection causes warning (in the log)
How this may happen? How to fix it?
Thank you in advance,