hadoop双节点集群环境下,namenode的webui将活动节点的数量显示为1,死亡节点的数量显示为0

5cnsuln7  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(433)

我为hadoop正确地配置了两节点集群环境,也为datanode配置了master。因此,目前我有两个数据节点,没有任何问题,我可以启动主服务器中的所有服务。从属数据节点也可以从主节点停止启动。但是当我用网址检查健康状况的时候 http://<IP>:50070/dfshealth.jsp 活动节点计数总是只显示一个而不是两个。
主流程:

~/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

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

y53ybaqx

y53ybaqx1#

第二个datanode正在运行,但未连接到namenode。很可能您重新格式化了namenode,现在namenode和datanode中有了不同的版本号。
修复方法是手动删除datanode保存其数据的目录(dfs.datanode.data.dir),然后重新格式化namenode。另一个不那么极端的方法是手动编辑版本,但出于研究目的,您可以删除整个目录。

rqqzpn5f

rqqzpn5f2#

最后我找到了解决办法,
在@charles input之后,我检查了datanode日志,得到了下面的错误。

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

我可以做ssh,但有一个问题,telnet从datanode到主8020端口。

>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

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

相关问题