博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导):
Hadoop 拒绝远程 9000 端口访问
学习Hadoop 时发现在本机访问 hadoop 9000 端口没有问题,但是远程机器访问 9000端口时不能访问,通过telnet 命令诊断发现发现无法访问端口,经过网上搜索解决方案结合自己实践,总结解决办法一般有以下几点。
1、防火墙未关闭或防火墙打开但是为开放9000端口
解决办法:通过 service iptables stop 命令关闭防火墙(开发环境一般直接关闭防火墙,生产环境需要配置防火墙,具体配置可以网上搜索)
2、配置本机名与地址的映射
解决办法: 修改/etc/hosts 文件,加入 IP地址与机器名的映射关系。
如下图红框所示:
注意,若发现127.0.0.1 与机器名存在映射关系,需要删除映射关系(如下图红色框所示),否则hadoop 会把机器名映射到127.0.0.1 上去,也就是我遇到的问题,本机可以访问,其他机器不能访问。
正确的配置参照下图:
重新格式化hadoop :使用 hadoop namenode -format 命令 格式化即可。
若格式化时显示机器名与Ip映射关系为127.0.0.1 那么说明配置不成功,只能本机访问
若格式化时显示机器名与IP映射关系为正常的网络地址,说明配置成功。如下图所示: