Hadoop:有0个数据节点正在运行,没有节点和无法连接到namenode

时间:2017-10-17 11:11:23

标签: java centos7 hadoop2

我在设置Hadoop时遇到了麻烦。我的设置包含一个nameNode VM和两个连接到同一网络的单独物理数据节点。

IP配置:

  • 192.168.118.212 namenode-1
  • 192.168.118.217 datanode-1
  • 192.168.118.216 datanode-2

我一直收到运行0个数据节点的错误,但是当我在我的dataNode-1机器或dataNode-2机器上执行JPS时,它显示为正在运行。 我的nameNode日志显示了这个:

  

文件/user/hadoop/.bashrc_COPYING_只能复制到0个节点而不是minReplication(= 1)。有0个datanode正在运行且没有节点    在此操作中被排除在外。

我的dataNode-1机器上的日志告诉我它连接到nameNode时遇到了问题。

  

WARN org.apache.hadoop.hdfs.server.datanode.DataNode:连接服务器时出现问题:namenode-1 / 192.168.118.212:9000

只有奇怪的部分是它无法连接,虽然它可以启动它?我也可以在没有任何问题的情况下在所有这些之间进行SSH。

所以我最好的猜测是我已经错误地配置了其中一个配置文件,虽然我在这里检查了其他问题并且它们似乎是正确的。

芯-site.xml中

<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://namenode-1:9000/</value>
</property>
</configuration>

HD​​FS-site.xml中

<configuration>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/hadoop_data/hdfs/datanode</value>
    <final>true</final>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/hadoop_data/hdfs/namenode</value>
    <final>true</final>
</property>
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>
</configuration>

mapred-site.xml中

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.job.tracker</name>
    <value>namenode-1:9001</value>
</property>
</configuration>

2 个答案:

答案 0 :(得分:0)

  1. 问题可能是fs.default.name。尝试使用ip地址作为fs.default.name。并检查/ etc / hosts配置是否指向正确的IP地址。这很可能是正确的,因为你的datanode找到了ip地址。

  2. 问题也可能是端口号!尝试8020或50070而不是9000,看看会发生什么。

答案 1 :(得分:0)

问题是防火墙。 您可以通过运行systemctl stop firewalld.service

来停止它

我在这里找到答案: https://stackoverflow.com/a/37994066/8789361