启动HDFS时datanode无法启动的坑

启动HDFS

启动hdfs,进入sbin目录,也可以执行./start-all.sh

- $cd /app/hadoop/hadoop-2.2.0/sbin
- $./start-dfs.sh

在此之前要进行NameNode的格式化

- $cd /app/hadoop/hadoop-2.2.0/
- $./bin/hdfs namenode -format

格式化是个巨大的坑,慎用!当我们进行多次格式化的时候,会出现datanode无法启动。原因在于多格式化之后,datanode的clusterID 和 namenode的clusterID 不匹配。这是datanode将无法启动。
解决方法:开机之后只进行一次格式化,格式化之后会导致datanode的clusterID 和 namenode的clusterID的不一致,就要进行替换。

1.打开name/current/VERSION文件 复制clusterID

2.打开data/current/VERSIO文件 将clusterID覆盖跟namenode的clusterID一直即可
3.每个datanode节点的clusterID都要进行替换覆盖

这时在启动,输入jps查看进程,就可以看到namenode,datanode节点都起来了

出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode-format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。

posted @ 2018-05-15 20:17  风火轮的菜园子  阅读(2235)  评论(0编辑  收藏  举报