<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

    今早一來,突然發現使用-put命令往HDFS里傳數據傳不上去了,抱一大堆錯誤,然后我使用bin/hadoop dfsadmin -report查看系統狀態

    admin@adw1:/home/admin/joe.wangh/hadoop-0.19.2>bin/hadoop dfsadmin -report
    Configured Capacity: 0 (0 KB)
    Present Capacity: 0 (0 KB)
    DFS Remaining: 0 (0 KB)
    DFS Used: 0 (0 KB)
    DFS Used%: ?%

    -------------------------------------------------
    Datanodes available: 0 (0 total, 0 dead)

    使用bin/stop-all.sh關閉HADOOP

    admin@adw1:/home/admin/joe.wangh/hadoop-0.19.2>bin/stop-all.sh
    stopping jobtracker
    172.16.197.192: stopping tasktracker
    172.16.197.193: stopping tasktracker
    stopping namenode
    172.16.197.193: no datanode to stop
    172.16.197.192: no datanode to stop

    172.16.197.191: stopping secondarynamenode

    哦,看到了吧,發現datanode前面并沒有啟動起來。去DATANODE上查看一下日志

    admin@adw2:/home/admin/joe.wangh/hadoop-0.19.2/logs>vi hadoop-admin-datanode-adw2.hst.ali.dw.alidc.net.log

    ************************************************************/
    2010-07-21 10:12:11,987 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/admin/joe.wangh/hadoop/data/dfs.data.dir: namenode namespaceID = 898136669; datanode namespaceID = 2127444065
            at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:233)
            at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:148)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:288)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:206)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1239)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1194)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1202)
            at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1324)
    ......

    錯誤提示namespaceIDs不一致。

    下面給出兩種解決辦法,我使用的是第二種。

    Workaround 1: Start from scratch

    I can testify that the following steps solve this error, but the side effects won't make you happy (me neither). The crude workaround I have found is to:

    1.     stop the cluster

    2.     delete the data directory on the problematic datanode: the directory is specified by dfs.data.dir in conf/hdfs-site.xml; if you followed this tutorial, the relevant directory is /usr/local/hadoop-datastore/hadoop-hadoop/dfs/data

    3.     reformat the namenode (NOTE: all HDFS data is lost during this process!)

    4.     restart the cluster

    When deleting all the HDFS data and starting from scratch does not sound like a good idea (it might be ok during the initial setup/testing), you might give the second approach a try.

    Workaround 2: Updating namespaceID of problematic datanodes

    Big thanks to Jared Stehler for the following suggestion. I have not tested it myself yet, but feel free to try it out and send me your feedback. This workaround is "minimally invasive" as you only have to edit one file on the problematic datanodes:

    1.     stop the datanode

    2.     edit the value of namespaceID in <dfs.data.dir>/current/VERSION to match the value of the current namenode

    3.     restart the datanode

    If you followed the instructions in my tutorials, the full path of the relevant file is /usr/local/hadoop-datastore/hadoop-hadoop/dfs/data/current/VERSION (background: dfs.data.dir is by default set to ${hadoop.tmp.dir}/dfs/data, and we set hadoop.tmp.dir to /usr/local/hadoop-datastore/hadoop-hadoop).

    If you wonder how the contents of VERSION look like, here's one of mine:

    #contents of <dfs.data.dir>/current/VERSION

    namespaceID=393514426

    storageID=DS-1706792599-10.10.10.1-50010-1204306713481

    cTime=1215607609074

    storageType=DATA_NODE

    layoutVersion=-13

     

    原因:每次namenode format會重新創建一個namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的數據,但是沒有晴空datanode下的數據,導致啟動時失敗,所要做的就是每次fotmat前,清空tmp一下 的所有目錄.

    posted on 2011-06-09 14:20 ivaneeo 閱讀(562) 評論(0)  編輯  收藏 所屬分類:
    主站蜘蛛池模板: 在线免费观看亚洲| 四虎影视久久久免费观看| 欧洲美熟女乱又伦免费视频| 美女的胸又黄又www网站免费| 国产亚洲综合网曝门系列| 青青青国产在线观看免费网站| 亚洲av日韩av永久无码电影| 国产国拍亚洲精品mv在线观看| 在线观看AV片永久免费| 一级有奶水毛片免费看| 国产成人精品日本亚洲网址| 亚洲成av人在片观看| 麻豆视频免费播放| eeuss免费影院| 亚洲乱码国产乱码精华| 国产亚洲人成网站观看| 国产免费69成人精品视频| 3344永久在线观看视频免费首页| 免费毛片毛片网址| 亚洲精品国产精品国自产网站| 精品亚洲一区二区三区在线观看| 毛片免费全部播放一级| a级黄色毛片免费播放视频| 看亚洲a级一级毛片| 亚洲成a人片在线网站| 国产av天堂亚洲国产av天堂| 国产乱色精品成人免费视频 | 亚洲av日韩专区在线观看| 亚洲免费精彩视频在线观看| 免费人成网站在线播放| 成人无码区免费视频观看| 19禁啪啪无遮挡免费网站| 中国一级特黄的片子免费| 免费播放国产性色生活片| 亚洲JLZZJLZZ少妇| 亚洲av极品无码专区在线观看| 国产成人亚洲综合色影视| 亚洲性日韩精品国产一区二区| 国产成人免费a在线资源| AV片在线观看免费| 欧美a级成人网站免费|