在Pseudo Distributed模式下使用Cloudera Manager设置Hadoop - Datanode不会启动

时间:2013-10-19 13:07:47

标签: hadoop cloudera cloudera-manager

我正在尝试使用Cloudera Manager设置单节点集群,这是我遇到的最新问题。

当我尝试启动所有服务时,HDFS无法启动,似乎是Datanode的问题 - 它给出的致命错误信息是

Initialization failed for block pool Block pool BP-1896453393-127.0.1.1-1382183730690 (storage id DS-185043233-127.0.1.1-50010-1382183775494) service to Hadoop1/127.0.1.1:8022
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException): Datanode denied communication with namenode: DatanodeRegistration(127.0.0.1, storageID=DS-185043233-127.0.1.1-50010-1382183775494, infoPort=50075, ipcPort=50020, storageInfo=lv=-40;cid=cluster25;nsid=1577346304;c=0)
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:656)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:3495)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:899)
at 
...

当我运行主机检查器时,它会发出以下警告:

The following errors were found while checking /etc/hosts...

The hostname Hadoop1 maps to 127.0.1.1 in /etc/hosts. 
This setting, typically found in Debian and Ubuntu environments, typically causes issues. 
We recommend either using the standard loopback address (127.0.0.1) or specifying the appropriate IP address for your host.

从谷歌搜索,似乎问题与使用的IP地址有关,问题的根源可能在我的/ etc / hosts文件中,如下所示。

127.0.0.1   localhost
127.0.1.1   Hadoop1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters 

1 个答案:

答案 0 :(得分:0)

对此进行了排序,而不是在/ etc / hosts文件中使用127.0.1.1,而是使用了ifconfig的Point-to-point部分中的机器的IP地址。

ifconfig的输出将包含类似

的部分
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:xxx.xxx.xxx.xxx  P-t-P:xx.xx.xx.xx  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1440  Metric:1
          RX packets:800950 errors:1 dropped:0 overruns:0 frame:0
          TX packets:454479 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:1115444967 (1.1 GB)  TX bytes:32007110 (32.0 MB)

从中获取inet addr:ip。

或运行

ifconfig | grep P-t-P

确切的行。