Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop 2.7.1疑难解答_Hadoop_Ssh_Yarn_Iptables - Fatal编程技术网

hadoop 2.7.1疑难解答

hadoop 2.7.1疑难解答,hadoop,ssh,yarn,iptables,Hadoop,Ssh,Yarn,Iptables,我正在尝试使用2.7.1设置一个3-workers-1主hadoop集群。启动群集时,主机会运行以下守护进程: 2792 NameNode 3611 NodeManager 4362 Jps 3346 ResourceManager 2962 DataNode 3169 SecondaryNameNode 在三个工作节点中 2163 NodeManager 2030 DataNode 2303 Jps 问题是当我查看web UI时,集群无法识别这3个worker。它表示1个

我正在尝试使用2.7.1设置一个3-workers-1主hadoop集群。启动群集时,主机会运行以下守护进程:

2792 NameNode 
3611 NodeManager 
4362 Jps 
3346 ResourceManager 
2962 DataNode 
3169 SecondaryNameNode
在三个工作节点中

2163 NodeManager
2030 DataNode
2303 Jps    
问题是当我查看web UI时,集群无法识别这3个worker。它表示1个活动数据节点,即主节点本身。请看这里:

问题是,假定在workers节点上运行的守护进程是什么?我试图查看日志文件,但没有发现任何有用的内容,因为它只包含与运行守护进程相关的日志,并且日志文件没有任何错误或致命错误

我认为secondary namenode应该在worker中运行,端口不允许它通信。所以我试着在master中通过

sudo iptables -I INPUT -p tcp --dport 9000  -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 9001  -j ACCEPT
iptables-save
但这并没有多大帮助。仍然面临同样的问题。workers中的日志文件也没有帮助

请告知您在修复此问题方面的帮助

编辑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/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
以下是其中一个DataNode的日志输出:

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

您是否将所有节点的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

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

19728数据节点 19819太平绅士


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

您是否配置了集群上的所有节点?是否在所有节点上都设置了core-site.xml中的fs.defaultFS?重新启动一个从节点上的datanode,查看是否有异常显示您如何配置从机。您是否将每个文件夹(hadoop)和配置文件从主节点复制到从节点…?@facha:尝试了您的方法,但没有work@Krishna:是的。我以前安装过多节点群集,不知道这次我做错了什么。你能发布datanodes日志吗?你能在所有节点中禁用IPv6吗?如果在Linux发行版中默认启用IPv6,则也可能导致问题。
192.168.0.1  master
192.168.0.2  datanode1
192.168.0.3  datanode2
192.168.0.4  datanode33