技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Hadoop datanode重新加載失敗無(wú)法啟動(dòng)解決

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-12-25 18:35┆點(diǎn)擊:

  筆者使用的是基于虛擬機(jī)的Hadoop分布式安裝,由于關(guān)閉datanode和namenode的順序不恰當(dāng),所以經(jīng)常會(huì)出現(xiàn)datanode加載失敗的情況。

  本人的解決方法適用于首次已經(jīng)成功啟動(dòng)整個(gè)集群,但是由于不正常的操作造成第二次無(wú)法正常啟動(dòng)。首次的啟動(dòng)失敗可能原因有很多:可能是由于配置文件錯(cuò)誤寫(xiě)入造成的,或是由于ssh無(wú)密碼登陸配置錯(cuò)誤造成。

  而第二次的錯(cuò)誤原因與首次啟動(dòng)的有一些區(qū)別,排錯(cuò)重點(diǎn)應(yīng)該集中在程序在運(yùn)行中的一些動(dòng)態(tài)加載而生成的文件上,筆者要討論的是第二種情況:

  大多原因就是因?yàn)閔adoop的datanode的VERSION文件中的namespaceID與namenode中的VERSION文件中的namespaceID二者出現(xiàn)不一致的情況。而namespaceID的生成筆者推斷應(yīng)該是在執(zhí)行:hdfs namenode -format 這個(gè)命令的時(shí)候生成的。

  解決步驟如下:

  1,首先停掉namenode上相關(guān)的進(jìn)程:切換到hadoop的/sbin目錄下:

  sh stop-dfs.sh

  sh stop-yarn.sh

  2,切換到hadoop的相應(yīng)/current目錄下將current下的所有文件清除。

  3,將datanode與namenode的/current 下VERSION等相應(yīng)文件文件清除后,回到namenode上,執(zhí)行hsfs namenode -format命令,接著切換到namenode的hadoop的/sbin目錄下:

  執(zhí)行sh start-dfs.sh

  sh start-yarn.sh

  (舊版本的mapre 被新版本的yarn所替代,命令上多少有些不同)

  既可以看到相應(yīng)的節(jié)點(diǎn)成功加載。

  相應(yīng)的思想就是,當(dāng)出錯(cuò)時(shí),清除掉一切干擾思路的文件,然后整理思緒,重新開(kāi)始,這樣要遠(yuǎn)比在原地徘徊要好。

  (由于我們?cè)谂渲梦募兄该鞯奈募A只有 hdfs tmp log,所以其余的文件也好文件夾也好都是動(dòng)態(tài)執(zhí)行腳本生成創(chuàng)建的,刪除之后只要hadoop整個(gè)系統(tǒng)可以工作就會(huì)生成,即便錯(cuò)刪,VM的 snapshot 也會(huì)拯救這個(gè)世界。)