With hadoop 1.0.3 version it works fine. So the problem is with hadoop version 2.0.X ...
2013/4/11 Mauro Cohen <[email protected]> > The new version of hadoop that we are using is hadoop 2.0.3-alpha > > > > > 2013/4/10 Mauro Cohen <[email protected]> > >> Hello, i have a problem with the new version of hadoop. >> >> I have cluster with 2 nodes. >> Each one has a private ip and a public IP configured through NAT. >> The problem is that the private IP of each node doesnt belong to the same >> net. (I have no conectivity between nodes through that ip) >> I have conectvity between nodes thorugh the NAT ip only, (ssh, ping, etc >> ). >> >> With the hadoop 0.20.x version when i configured datanodes and namenodes >> configuration files i allways used the host-name for propertys (ex: >> fs.defaul.name property) and never have problems with this. >> But with the new version of hadoop, theres has to be change the way that >> nodes comunicates itself, and they use the private ip in some point instead >> of host-names. >> >> I have installed a cluster with 2 nodes: >> >> hadoop-2-00 is the namenode. >> In hadoop-2-00 i have this /etc/hosts file and this ifconfig output: >> >> *etc/hosts:* >> >> 172.16.67.68 hadoop-2-00 >> >> *ifconfig*: >> >> eth0 Link encap:Ethernet HWaddr fa:16:3e:4c:06:25 >> inet addr:172.16.67.68 Bcast:172.16.95.255 Mask:255.255.224.0 >> inet6 addr: fe80::f816:3eff:fe4c:625/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:73475 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:58912 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:100923399 (100.9 MB) TX bytes:101169918 (101.1 MB) >> >> lo Link encap:Local Loopback >> inet addr:127.0.0.1 Mask:255.0.0.0 >> inet6 addr: ::1/128 Scope:Host >> UP LOOPBACK RUNNING MTU:16436 Metric:1 >> RX packets:10 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:588 (588.0 B) TX bytes:588 (588.0 B) >> >> The NAT ip for this node is 10.70.5.51 >> >> I use the host-name(*hadoop-2-00*) in all the configuration files of >> hadoop. >> >> The other node is the datanode* hadoop-2-01* and has this etc/hosts and >> ifconfig output: >> >> eth0 Link encap:Ethernet HWaddr fa:16:3e:70:5e:bd >> inet addr:172.16.67.69 Bcast:172.16.95.255 Mask:255.255.224.0 >> inet6 addr: fe80::f816:3eff:fe70:5ebd/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:27081 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:24105 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:95842550 (95.8 MB) TX bytes:4314694 (4.3 MB) >> >> lo Link encap:Local Loopback >> inet addr:127.0.0.1 Mask:255.0.0.0 >> inet6 addr: ::1/128 Scope:Host >> UP LOOPBACK RUNNING MTU:16436 Metric:1 >> RX packets:34 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:34 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:1900 (1.9 KB) TX bytes:1900 (1.9 KB) >> >> */etc/hosts* >> >> 172.16.67.69 hadoop-2-01 >> >> The nat ip for that host is 10.70.5.57 >> >> When i start the namenode there is no problem. >> >> But when i start the datanode i theres is an error. >> >> This is the stacktrace of the datanode log: >> >> 2013-04-10 16:01:26,997 INFO >> org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool >> BP-2054036249-172.16.67.68-1365621320283 (storage id >> DS-1556234100-172.16.67.69-50010-1365621786288) service to hadoop-2-00/ >> 10.70.5.51:8020 beginning handshake with NN >> 2013-04-10 16:01:27,013 FATAL >> org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for >> block pool Block pool BP-2054036249-172.16.67.68-1365621320283 (storage id >> DS-1556234100-172.16.67.69-50010-1365621786288) service to hadoop-2-00/ >> 10.70.5.51:8020 >> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException): >> Datanode denied communication with namenode: DatanodeRegistration(0.0.0.0, >> storageID=DS-1556234100-172.16.67.69-50010-1365621786288, infoPort=50075, >> ipcPort=50020, >> storageInfo=lv=-40;cid=CID-65f42cc4-6c02-4537-9fb8-627a612ec74e;nsid=1995699852;c=0) >> at >> org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:629) >> at >> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:3459) >> at >> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:881) >> at >> org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:90) >> at >> org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:18295) >> at >> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:454) >> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1014) >> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1735) >> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1731) >> at java.security.AccessController.doPrivileged(Native Method) >> at javax.security.auth.Subject.doAs(Subject.java:396) >> at >> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1441) >> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1729) >> >> at org.apache.hadoop.ipc.Client.call(Client.java:1235) >> at >> org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:202) >> at $Proxy10.registerDatanode(Unknown Source) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:164) >> at >> org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:83) >> at $Proxy10.registerDatanode(Unknown Source) >> at >> org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB.registerDatanode(DatanodeProtocolClientSideTranslatorPB.java:146) >> at >> org.apache.hadoop.hdfs.server.datanode.BPServiceActor.register(BPServiceActor.java:623) >> at >> org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:225) >> at >> org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) >> at java.lang.Thread.run(Thread.java:662) >> 2013-04-10 16:01:27,015 WARN >> org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service >> for: Block pool BP-2054036249-172.16.67.68-1365621320283 (storage id >> DS-1556234100-172.16.67.69-50010-1365621786288) service to hadoop-2-00/ >> 10.70.5.51:8020 >> 2013-04-10 16:01:27,016 INFO >> org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool >> BP-2054036249-172.16.67.68-1365621320283 (storage id >> DS-1556234100-172.16.67.69-50010-1365621786288) >> 2013-04-10 16:01:27,016 INFO >> org.apache.hadoop.hdfs.server.datanode.DataBlockScanner: Removed >> bpid=BP-2054036249-172.16.67.68-1365621320283 from blockPoolScannerMap >> 2013-04-10 16:01:27,016 INFO >> org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl: >> Removing block pool BP-2054036249-172.16.67.68-1365621320283 >> 2013-04-10 16:01:29,017 WARN >> org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode >> 2013-04-10 16:01:29,019 INFO org.apache.hadoop.util.ExitUtil: Exiting >> with status 0 >> 2013-04-10 16:01:29,021 INFO >> org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: >> /************************************************************ >> SHUTDOWN_MSG: Shutting down DataNode at hadoop-2-01/172.16.67.69 >> >> >> >> Do you know if theres a way to solve this? >> >> Any ideas? >> >> Thanks. >> Mauro. >> >> >> >
