Hadoop 集群中没有活动节点

No active nodes in Hadoop cluster

我按照How to install Apache Hadoop 2.6.0 in Ubuntu (Multi node/Cluster setup)设置了1主2从的Hadoop 2.6.0。毕竟我检查了 master 和 slaves 上的 jps,一切看起来都很好:Master 上的 NameNode、SecondaryNameNode、ResourceManager;和 DataNode,从站上的 NodeManager。但是当我浏览到 hadoopmaster:8088 时,有 0 个活动节点。还有当我 运行

hadoop fs -put ~/h-localdata/* /input/

它显示了这个错误:

put: File /input-01/h-localdata/README.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

请帮我解决这个问题!

尝试分别删除"temp"、"datanode"、"namenode"文件夹中的文件并格式化namenode,然后重试。

我查看了slaves中的日志文件,指出:

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.10.52:9000

我看了很多建议,大部分都与/etc/hosts文件有关,但不是我的情况。我在 master (centos 6.5) 上禁用了防火墙:

# service iptables save
# service iptables stop
# chkconfig iptables off

这非常有效。希望这对其他人也有帮助。

对我来说,是 /etc/hosts 中的条目强制 hadoop 主节点仅侦听环回适配器,因此客户端无法访问它。

确保数据节点指向正确的主机。查看hdfs dfsadmin -report 查看集群的报告。

我通过禁用我的主机和从机(都在 CentOS 7)上的防火墙解决了这个问题,如下所示:

systemctl stop firewalld.service 
systemctl disable firewalld.service