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

网上查到的没有主机路由问题提到的大多是防火墙问题:

查看防火墙状态:firewall-cmd --state

关闭防火墙:(需注意的是,必须关闭防火墙自启动,再启动datanode才会正常)

centos7:
[al@node01 sbin]$ sudo systemctl stop firewalld //关闭防火墙
[al@node01 sbin]$ sudo systemctl status firewalld //查看当前防火墙的状态
[al@node01 sbin]$ sudo systemctl disable firewalld // 关闭防火墙开机自启动
centOS 6 :

[al@node01 ~]$ sudo service iptables stop //关闭防火墙
[peng@node01 ~]$ sudo service iptables status //查看当前防火墙的状态
[peng@node01 ~]$ sudo chkconfig iptables off //关闭防火墙开机自启动

然而问题还是没有解决,最终发现了一个新问题:SELinux,SELinux是Linux一个子安全机制

查看SELinux状态:

/usr/sbin/sestatus -v

SELinux status参数为enabled即为开启状态

hadoop java.net.NoRouteToHostException: 没有到主机的路由
关闭SELinux:

1.临时关闭(不用重启机器):
setenforce 0

2.修改配置文件需要重启机器:
修改/etc/selinux/config文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器

备注:网上看到还有极低的可能是namenode节点与datanode节点互ping不通(主机名)我没有遇到,如果有这个问题请注意配置

上一篇:逻辑回归:原理及python实现


下一篇:ospf实验