hadoop 报错,java.net.NoRouteToHostException: 没有到主机的路由

来源:互联网 发布:linux怎么设置ip地址 编辑:程序博客网 时间:2024/06/04 17:58

这个错误一般是datanode找不到namenode,如果在datanode 用ping指令ping namedode不通,则是两个ip相互访问不了,如果ping的通,那就从datanode 用telnet namenode 端口(在hadoop设置中的端口,一般是core-site.xml中的fs.default.name中设置的),如果拒绝访问,就是ip通的端口不通,需要在对应机器上开放这个端口,开放端口方法如下:

方法一:命令行方式
               1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
               2.保存:/etc/rc.d/init.d/iptables save
               3.重启服务:/etc/init.d/iptables restart
               4.查看端口是否开放:/sbin/iptables -L -n
    

 方法二:直接编辑/etc/sysconfig/iptables文件
               1.编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables
                   加入内容并保存:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
               2.重启服务:/etc/init.d/iptables restart
               3.查看端口是否开放:/sbin/iptables -L -n

但是我用方法一一直保存不上,查阅网上发现直接修改文件不需要iptables save,重启下iptables 重新加载下配置。iptables save 是将当前的iptables写入到/etc/sysconfig/iptables。我不save直接restart也不行,所以还是方法二吧


查询端口是否有进程守护用如下命令grep对应端口,如80为端口号
例:netstat -nalp|grep 80


阅读全文
0 0
原创粉丝点击