【问题标题】:Hadoop two node cluster environment, NameNode’s web UI displays the number of live nodes as one and Dead nodes as zeroHadoop两节点集群环境,NameNode的web UI显示活节点数为1,死节点数为零
【发布时间】:2014-07-25 07:40:13
【问题描述】:

我为Hadoop正确配置了两个节点集群环境,并且也为datanode配置了Master。 所以目前我有两个数据节点,没有任何问题我能够启动 Master 中的所有服务。 从数据节点也能够停止从主节点启动。 但是当我使用 url 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

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

【问题讨论】:

  • 请检查数据节点日志。它将在无法连接的数据节点中的 /var/logs 中。请在此处发布日志
  • 我检查了datanode日志并得到了以下错误 2014-07-27 15:55:24,205 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: masternode/192.168.157.132: 8020。已尝试 9 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 2014-07-27 15:55:24,205 INFO org.apache.hadoop.ipc.RPC: 服务器在 masternode/192.168.157.132:8020 尚不可用,Zzzzz。 ..

标签: hadoop bigdata


【解决方案1】:

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

解决方法是手动删除 DataNode 保存其数据的目录 (dfs.datanode.data.dir),然后重新格式化 NameNode。一种不太极端的做法是手动编辑版本,但出于学习目的,您可以只删除整个目录。

【讨论】:

  • 它对我不起作用,但是在调试后才知道它的防火墙问题并在 iptables 中添加了端口号 8020 以允许从外部访问,它对我有用。
  • 可以,iptables和selinux可以阻止通信。
【解决方案2】:

终于找到解决办法了,

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

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

我能够执行 ssh,但从数据节点到 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

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

【讨论】:

    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2023-04-05
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多