Настройка Hadoop с помощью Cloudera Manager в псевдораспределенном режиме — Datanode не запускается

Я пытаюсь настроить кластер с одним узлом с помощью Cloudera Manager, вот последняя проблема, с которой я столкнулся.

Когда я пытаюсь запустить все службы, HDFS не запускается, похоже, это проблема с узлом данных - выдается сообщение о фатальной ошибке:

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 

person Ger    schedule 19.10.2013    source источник


Ответы (1)


С этим разобрались, вместо использования 127.0.1.1 в файле /etc/hosts я использовал IP-адрес машины, которая находится в разделе «точка-точка» ifconfig.

Вывод 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

для точной линии.

person Ger    schedule 23.10.2013