在hadoop集群环境(linux系统)中最好关闭防火墙,不然会出现很多问题,例如namenode找不到datanode等。
如果不关闭防火墙,客户端使用API操作HDFS以及ZooKeeper,可能就会出现下面常见的两种异常:
1.使用API操作HDFS时会出现异常:java.net.NoRouteToHostException: No route to host
2.使用API操作ZK时会出现异常:org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for xxxx
解决方法:
使用root权限登陆后,输入关闭防火墙命令,每个运行hadoop和zk的都要关(两条命令任选一个):
/etc/init.d/iptables stop
service iptables stop