【问题标题】:Why does data node shut down when I run hadoop?为什么我运行 hadoop 时数据节点会关闭?
【发布时间】:2013-08-20 11:46:42
【问题描述】:

我在 VirtualBox 的 ubuntu 11.0.4 上安装了 hadoop 1.0.4(与我的主机名相同),数据节点以某种方式关闭,在日志文件中出现以下错误

/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = VirtualBox/127.0.1.1
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.0.4
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct  3 05:13:58 UTC 2012
************************************************************/
2013-08-18 19:52:21,301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2013-08-18 19:52:21,394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2013-08-18 19:52:21,412 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2013-08-18 19:52:21,417 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2013-08-18 19:52:23,207 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2013-08-18 19:52:23,276 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2013-08-18 19:52:26,887 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 457871323; datanode namespaceID = 2066655210
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682)

2013-08-18 19:52:26,903 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at VirtualBox/127.0.1.1
************************************************************/

知道为什么吗?我该如何解决?

【问题讨论】:

    标签: java hadoop ioexception


    【解决方案1】:

    这种情况我已经发生过几次了。如果重新启动数据节点没有帮​​助,请执行以下操作:

    1. 重启 Hadoop
    2. 转到 /app/hadoop/tmp/dfs/name/current
    3. 打开版本(即vim VERSION
    4. 记录命名空间ID
    5. 转到 /app/hadoop/tmp/dfs/data/current
    6. 打开版本(即vim VERSION
    7. 将 namespaceID 替换为您在步骤 4 中记录的 namespaceID。

    这应该可以解决问题。

    【讨论】:

    • 感谢您的分步指导!
    【解决方案2】:

    【讨论】:

    • 其实我在发帖后就去那里解决了。无论如何谢谢
    【解决方案3】:

    这通常会在您格式化 namenode 并且不执行 datanode 清理并且您更改命名空间时出现。

    可能的解决方案:

    尝试删除/app/hadoop/tmp/dfs/data目录并重启datanode

    【讨论】:

    • 我通过阅读 Micheal Gnoll 的教程将其发布到此处后解决了它。无论如何,谢谢
    • 你能帮我解决这个问题吗?stackoverflow.com/questions/18307328/…
    • 你能帮我解决这个问题吗? stackoverflow.com/questions/19021982/hadoop-multi-node-cluster-installation-on-ubuntu-issue-troubleshoot。我收到了类似的错误消息,我认为这是防火墙问题,但我不能确定。请看一下。谢谢! :)
    【解决方案4】:

    我在 namenode 上丢失了数据。 我必须用

    格式化我的namenode
    hadoop namenode -format
    

    启动namenode后,datanode因VERSION问题无法启动

    然后我还需要从数据节点中删除所有数据。

    我可以简单地清理 dfs (/{hadoop.tmp.dir}/dfs/data/*) 中的数据文件夹并重新启动 datanode

    rm -rf /{hadoop.tmp.dir}/dfs/data/*

    删除 VERSION 文件 (/{hadoop.tmp.dir}/dfs/data/current/VERSION) 和 重启数据节点

    【讨论】:

      【解决方案5】:
      Restart Hadoop
      Go to /app/hadoop/tmp/dfs/name/current
      Open VERSION (i.e. by vim VERSION)
      Record namespaceID
      Go to /app/hadoop/tmp/dfs/data/current
      Open VERSION (i.e. by vim VERSION)
      Replace the namespaceID with thve namespaceID you recorded in step 4.
      

      要执行上述步骤, 我在数据文件夹 /tmp/data 中没有任何文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多