zoukankan      html  css  js  c++  java
  • java.io.IOException: Incompatible namespaceIDs

    问题描述:

      在实验的时候,需要往以前的集群中添加一台datanode,在添加之前,由于在调式namenode的时候,格式化了dfs,这就导致了namenode上的namespaceID和以前集群上datanode的namespaceID不一致,结果就会导致在启动hadoop集群的时候,旧的的datanode就没有办法启动hdfs服务,但是旧的dadanode可以启动tasktracker。

    2015-01-28 11:01:27,561 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/h
    adoop/hadoop_tmp/hadoop-hadoop/dfs/data: namenode namespaceID = 1437576128; datanode namespaceID = 109908095
            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)

    解决办法:

        将旧datanode上的namespaceID修改成和namenode上的namespaceID一样,datanode上存储namespaceID的位置为:~/hadoop_tmp/hadoop-hadoop/dfs/data/current/VERSION ,将其中的namespaceID修改为namenode上的namespaceID,重新启动集群就可以看到新节点成功的加入集群中。

    image
  • 相关阅读:
    进程、线程
    timer控件、三级联动
    用户控件、动态创建添加
    打印控件
    窗体移动和阴影,对话框控件
    winform listview控件
    winform打开唯一窗体、构造函数传值
    菜单和工具栏
    winform公共控件
    hibernate中各种包的添加
  • 原文地址:https://www.cnblogs.com/justinzhang/p/4255303.html
Copyright © 2011-2022 走看看