我在设置Hadoop时遇到了麻烦。我的设置包含一个nameNode VM和两个连接到同一网络的单独物理数据节点。
IP配置:
我一直收到运行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>
HDFS-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>
答案 0 :(得分:0)
问题可能是fs.default.name。尝试使用ip地址作为fs.default.name。并检查/ etc / hosts配置是否指向正确的IP地址。这很可能是正确的,因为你的datanode找到了ip地址。
问题也可能是端口号!尝试8020或50070而不是9000,看看会发生什么。
答案 1 :(得分:0)
问题是防火墙。
您可以通过运行systemctl stop firewalld.service