我为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
请帮助我知道我做错了什么。
2条答案
按热度按时间y53ybaqx1#
第二个datanode正在运行,但未连接到namenode。很可能您重新格式化了namenode,现在namenode和datanode中有了不同的版本号。
修复方法是手动删除datanode保存其数据的目录(dfs.datanode.data.dir),然后重新格式化namenode。另一个不那么极端的方法是手动编辑版本,但出于研究目的,您可以删除整个目录。
rqqzpn5f2#
最后我找到了解决办法,
在@charles input之后,我检查了datanode日志,得到了下面的错误。
我可以做ssh,但有一个问题,telnet从datanode到主8020端口。
我刚刚添加了iptables,通过使用下面的命令来允许端口8020,并重新启动了hadoop服务,一切正常。
这只是防火墙的问题。感谢大家的宝贵投入。