ubuntu10.10每次开机后会在/etc/hosts自动生成一行代码:127.0.0.1 localhost localhost.local,而ubuntu10.04版本则不会。在hadoop中,由于127.0.0.1与主机绑定,导致datanode一直试图链接namenode而连接不上,只要开机后把/etc/hosts 下的127.0.0.1 localhost localhost.local删除即可。
所以ubuntu10.10的hadoop用户注意了,有可能就是这个问题导致的启动hadoop后没有datanodes
我的机器需要删除
127.0.0.1 localhost.localdomain localhost
::1 xuqi86-laptop localhost6.localdomain6 localhost6
127.0.1.1 xuqi86-laptop
只留下
192.168.0.100 xuqi86-laptop # Added by NetworkManager
和
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
删除 临时文件的内容
rm -rf /tmp/*
然后格式化 namenode,再启动hadoop,就可以正常显示了