解决Hadoop启动时,没有启动datanode

原文链接:http://www.nekomiao.me/2016/08/10/hadoop-without-datanode/

Hadoop在多次运行下列指令

   hadoop namenode -format
  

  

   sbin/start-dfs.sh

经常会出现没有启动datanode的情况。
运行命令:

   jps

发现没有datanode线程。
现给出原因和解决方案

原因

当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是上一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致。

解决方法

  • 第一种:如果dfs文件夹中没有重要的数据,那么删除dfs文件夹,再重新运行下列指令: (删除所有节点下的dfs文件夹,dfs目录在${HADOOP_HOME}/tmp/)

         hadoop namenode -format
        
    
        
    
         sbin/start-dfs.sh
    
  • 第二种:如果dfs文件中有重要的数据,那么在dfs/name目录下找到一个current/VERSION文件,记录clusterID并复制。然后dfs/data目录下找到一个current/VERSION文件,将其中clustreID的值替换成刚刚复制的clusterID的值即可;

总结

其实,每次运行结束Hadoop后,都应该关闭Hadoop.

   sbin/stop-dfs.sh

下次想重新运行Hadoop,不用再格式化namenode,直接启动Hadoop即可

   sbin/start-dfs.sh

#Hadoop

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【⼤数据】 【⼤数据】Hadoop常⽤启动命令 常⽤启动命令 Hadoop常⽤启停命令 常⽤启停命令   最近在装⼤数据环境,不知由于年纪⼤的问题还是笨的缘故,⽼师记不住⼀些常⽤命令,在这⾥就单独记⼀下Hadoop常⽤的启停命 令。Hadoop常⽤的启停命令都在hadoop/sbin/ ⽬录中,可以将这个⽬录添加到环境变量中,后⾯就可以直接在任意路径下运⾏启停命令。 下⾯就具体说说这些命令: start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack stop-all.sh 停⽌所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack start-dfs.sh 启动Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode stop-dfs.sh 停⽌Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode hadoop-daemons.sh start namenode 单独启动NameNode守护进程 hadoop-daemons.sh stop namenode 单独停⽌NameNode守护进程 hadoop-daemons.sh start datanode 单独启动DataNode守护进程 hadoop-daemons.sh stop datanode 单独停⽌DataNode守护进程 hadoop-daemons.sh start secondarynamenode 单独启动SecondaryNameNode守护进程 hadoop-daemons.sh stop secondarynamenode 单独停⽌SecondaryNameNode守护进程 start-mapred.sh 启动Hadoop MapReduce守护进程JobTracker和TaskTracker stop-mapred.sh 停⽌Hadoop MapReduce守护进程JobTracker和TaskTracker hadoop-daemons.sh start jobtracker 单独启动JobTracker守护进程 hadoop-daemons.sh stop jobtracker 单独停⽌JobTracker守护进程 hadoop-daemons.sh start tasktracker 单独启动TaskTracker守护进程 hadoop-daemons.sh stop tasktracker 单独启动TaskTracker守护进程 如果Hadoop集群是第⼀次启动,可以⽤start-all.sh。⽐较常⽤的启动⽅式是⼀个⼀个守护进程来启动启动的步骤如下。 1.启动Hadoop的HDFS模块⾥的守护进程,HDFS⾥⾯的守护进程启动也有顺序,即: 1)启动NameNode守护进程; 2)启动DataNode守护进程; 3)启动SecondaryNameNode守护进程。 2.启动MapReduce模块⾥⾯的守护进程,Mapreduce的守护进程启动也有顺序: 1)启动JobTracer守护进程 2)启动TaskTracer守护进程 关闭,顺序相反

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java_进阶路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值