hadoop2.7集群初始化之后没有DataNode的问题

2019-10-28 16:07:55 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/boling_cavalry/article/details/102764540

问题

三台机器组成的hadoop2.7集群中,重新初始化之后再次启动启动,发现以下问题:

  1. 在master节点,用hdfs命令上传文件报错There are 0 datanode(s) running and no node(s);
  2. 去DataNode节点执行jps命令,没有名为DataNode的进程;

解决

  1. 停止yarn和hdfs(我这里的hadoop部署在~目录下,请根据您自己的部署目录调整下面的命令):
代码语言:javascript复制
~/hadoop-2.7.7/sbin/stop-yarn.sh 
&& ~/hadoop-2.7.7/sbin/stop-dfs.sh
  1. 再次格式化namenode和hdfs:
代码语言:javascript复制
~/hadoop-2.7.7/bin/hadoop namenode -format 
&& ~/hadoop-2.7.7/bin/hdfs namenode -format
  1. 清理临时文件夹(这一步很重要):打开文件hadoop-2.7.7/etc/hadoop/core-site.xml,找到节点hadoop.tmp.dir,该节点的值是临时文件夹目录,我这里是/home/hadoop/work/tmp,因此执行以下命令,将临时文件夹清理干净,并且重建name和data目录:
代码语言:javascript复制
rm -rf /home/hadoop/work/tmp/* 
&& mkdir -p /home/hadoop/work/tmp/dfs/name 
&& mkdir -p /home/hadoop/work/tmp/dfs/data
  1. 再次启动hdfs和yarn:
代码语言:javascript复制
~/hadoop-2.7.7/sbin/start-dfs.sh 
&& ~/hadoop-2.7.7/sbin/start-yarn.sh
  1. 在DataNode机器上执行jps命令,发现DataNode进程已经有了:
代码语言:javascript复制
[hadoop@node1 logs]$ jps
9664 DataNode
9974 Jps
9784 NodeManager
  1. 用hdfs命令创建文件夹,上传文件,一切正常:
代码语言:javascript复制
[hadoop@node0 ~]$ ~/hadoop-2.7.7/bin/hdfs dfs -mkdir /input
[hadoop@node0 ~]$ ~/hadoop-2.7.7/bin/hdfs dfs -put ~/GoneWiththeWind.txt /input
[hadoop@node0 ~]$ ~/hadoop-2.7.7/bin/hdfs dfs -ls /input
Found 1 items
-rw-r--r--   3 hadoop supergroup    2372994 2019-10-27 11:44 /input/GoneWiththeWind.txt

0 人点赞