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

问题

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

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

解决

  1. 停止yarn和hdfs(我这里的hadoop部署在~目录下,请根据您自己的部署目录调整下面的命令):
~/hadoop-2.7.7/sbin/stop-yarn.sh \
&& ~/hadoop-2.7.7/sbin/stop-dfs.sh
  1. 再次格式化namenode和hdfs:
~/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目录:
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:
~/hadoop-2.7.7/sbin/start-dfs.sh \
&& ~/hadoop-2.7.7/sbin/start-yarn.sh
  1. 在DataNode机器上执行jps命令,发现DataNode进程已经有了:
[hadoop@node1 logs]$ jps
9664 DataNode
9974 Jps
9784 NodeManager
  1. 用hdfs命令创建文件夹,上传文件,一切正常:
[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

你可能感兴趣的:(大数据实战)