在Hadoop双节点集群环境中,NameNode的Web UI将实时节点数显示为一个,将Dead节点显示为零

时间:2014-07-25 07:40:14

标签: hadoop bigdata

我为Hadoop正确配置了两个节点集群环境,并且还为数据节点配置了Master。 所以目前我有两个数据节点,没有任何问题,我可以启动Master中的所有服务。 从属数据节点也能够从主节点停止启动。 但是当我使用url http://<IP>:50070/dfshealth.jsp检查运行状况时,Live节点计数始终只显示一个而不是两个。

主流程:

~/hadoop-1.2.0$ jps
9112 TaskTracker
8805 SecondaryNameNode
9182 Jps
8579 DataNode
8887 JobTracker
8358 NameNode

奴隶程序:

~/hadoop-1.2.0$ jps
18130 DataNode
18380 Jps
18319 TaskTracker

请帮助我知道我做错了什么。

2 个答案:

答案 0 :(得分:1)

第二个DataNode正在运行但未连接到NameNode。您可能会重新格式化NameNode,现在NameNode和DataNode中的版本号不同。

修复方法是手动删除DataNode保存其数据的目录(dfs.datanode.data.dir),然后重新格式化NameNode。一个不那么极端的是手动编辑版本,但出于学习目的,你可以只扫描整个目录。

答案 1 :(得分:0)

最后我得到了解决方案,

在@charles输入后,我检查了Datanode日志并得到了以下错误。

org.apache.hadoop.ipc.Client: Retrying connect to server: masternode/192.168.157.132:8020. Already tried 9 time(s);

我能够执行ssh但是从datanode到8020端口的主机有telnet问题。

>telnet 192.168.157.132 8020

Trying 192.168.157.132...
telnet: connect to address 192.168.157.132: No route to host

我刚刚在iptables中添加了允许端口8020,使用下面的命令并重新启动了hadoop服务,一切正常。

iptables -I INPUT 5 -p tcp --dport 8020 -j ACCEPT

这只是防火墙的问题。 感谢大家的宝贵意见。