启动Hadoop,在主节点启动./start-all.sh
后,主节点会去启动datanode,datanode再访问主节点的9000端口作为回应,此时需要主节点有在监听外部IP,之所以报这个错误,是因为主节点压根就没去监听外部访问。
先看博主的/etc/hosts
内容如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.197.128 node100
192.168.197.129 node200
192.168.197.130 node300
因为有localhost
的原因,主节点就没有去监听其他主机的访问,仅仅在监听本机的访问,也可以通过下面的命令来查看
$ netstat -an | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:42923 127.0.0.1:9000 TIME_WAIT
解决方案:
直接将前