故障排除hadoop 2.7.1

时间:2016-02-01 21:52:04

标签: hadoop ssh yarn iptables

我正在尝试使用2.7.1设置一个3工1的主hadoop集群。当我启动集群时,主服务器运行以下守护程序:

2792 NameNode 
3611 NodeManager 
4362 Jps 
3346 ResourceManager 
2962 DataNode 
3169 SecondaryNameNode

在三个工作节点中,

2163 NodeManager
2030 DataNode
2303 Jps    

问题是当我查看Web UI时,群集无法识别3个工作者。它说1个实时数据节点,那就是主数据本身。请看这里:

http://master:50070/dfshealth.html#tab-overview

问题是,假设在工作节点上运行的守护进程是什么?我试着查看日志文件并没有找到任何有用的东西,因为它包含仅与运行守护进程相关的日志,并且日志文件没有任何错误或致命错误。

我认为辅助namenode应该在worker中运行,端口不允许它进行通信。所以我试图通过

在master中打开端口9000和9001
sudo iptables -I INPUT -p tcp --dport 9000  -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 9001  -j ACCEPT
iptables-save

但这并没有多大帮助。仍面临同样的问题。工人中的日志文件也没有帮助。

帮助你解决这个问题。

编辑1:

以下是我在core-site.xml的配置:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9001</value> <!-- slave1, 2 & 3 in position of master -->
    </property>
</configuration>

这是我的/ etc / hosts文件:

127.0.0.1 localhost math2
127.0.1.1 math2

192.168.1.2 master
192.168.1.3 worker1
192.168.1.7 worker5
192.168.1.8 worker6

这是我在/ etc / network / interfaces

的配置
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback


    address 192.168.1.2 (3,5,6 instead of 2 for slaves)
    netmask 255.255.255.0
    gateway 192.168.1.1
    broadcast 192.168.1.255

以下是其中一个数据节点的日志输出:

2016-02-05 17:54:12,655 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.net.BindException: Problem binding to [0.0.0.0:50010] java.net.BindException: Address already in use; For more details see:  http://wiki.apache.org/hadoop/BindException

2 个答案:

答案 0 :(得分:0)

您是否将所有节点的IP地址放在/etc/hosts中。所有节点(主节点和从节点)的/etc/hosts文件应包含集群中所有节点的IP地址。 例如,如果我们有三个数据节点和一个主节点,则/etc/hosts文件应为:

192.168.0.1  master
192.168.0.2  datanode1
192.168.0.3  datanode2
192.168.0.4  datanode33

答案 1 :(得分:0)

在Datanode上,运行jps命令时可以看到以下过程

19728 DataNode 19819 Jps

,当您在Datanode上运行ps -aef | grep -i datanode时,它应该显示两个进程,一个是root用户,另一个是HDFS用户