zoukankan      html  css  js  c++  java
  • hadoop启动中缺少datanode

    // 启动 journalnode(在所有 datanode 上执行,也就是 cluster1, cluster2, cluster3)

    $ hadoop-daemon.sh start journalnode 启动后使用 jps 命令可以看到 JournalNode 进程

    // 格式化 HDFS(在 cluster1 上执行)

    $ hdfs namenode -format

    // 格式化完毕后可关闭 journalnode(在所有 datanode 上执行)

    $ hadoop-daemon.sh stop journalnode

    // 启动 HDFS(cluster1 上)

    $ start-dfs.sh

    // 启动后 cluster1 上使用 jps 可以看到 NameNode, DataNode, SecondaryNameNode cluster2 和 cluster3 上可以看到 DataNode

    $ jps

    -----------------------------------------------------------------------------------------------------------------------------------------

    结果,cluster1 上使用 jps 看到 NameNode, SecondaryNameNode cluster2 和 cluster3 上什么都没看到!!!!

    原因是:

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

    也就是只能格式化一次,以后不用格式化了!!!

    解决方法:

    删除后,重新格式化一次,再启动,就可以看到了!

  • 相关阅读:
    数据挖掘相关资料收集(持续更新)
    常见面试之机器学习算法思想简单梳理
    在c中保存状态
    lua 和 c
    lua 基础库
    lua 面向对象
    lua 高级
    lua 基础
    lua中的协程
    cocos2d中的可见性检测
  • 原文地址:https://www.cnblogs.com/bao-ZhangJiao/p/14268767.html
Copyright © 2011-2022 走看看