日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop datanode启动失败

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop datanode启动失败 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題導讀:

1、Hadoop出現問題時,該如何入手查看問題?
2、datanode無法啟動,我們該怎么解決?
3、如何動態加入DataNode或TaskTracker?

一、問題描述
當我多次格式化文件系統時,如

root@localhost:/usr/local/hadoop-1.0.2# bin/hadoop namenode -format

?

復制代碼


會出現datanode無法啟動,查看日志,發現錯誤為:

?

2012-04-20 20:39:46,501 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/gqy/hadoop/data: namenode namespaceID = 155319143; datanode namespaceID = 1036135033

?

?

?

二、問題產生原因
當我們執行文件系統格式化時,會在namenode數據文件夾(即配置文件中dfs.name.dir在本地系統的路徑)中保存一個current/VERSION文件,記錄namespaceID,標識了所格式化的 namenode的版本。如果我們頻繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系統的路徑)的current/VERSION文件只是你第一次格式化時保存的namenode的ID,因此就會造成datanode與namenode之間的id不一致。

三、解決辦法
把配置文件中dfs.data.dir在本地系統的路徑下的current/VERSION中的namespaceID改為與namenode一樣。

如果大家在安裝的時候遇到問題,或者按步驟安裝完后卻不能運行Hadoop,那么建議仔細查看日志信息,Hadoop記錄了詳盡的日志信息,日志文件保存在logs文件夾內。
無論是啟動,還是以后會經常用到的MapReduce中的每一個job,以及HDFS等相關信息,Hadoop均存有日志文件以供分析。
例如:
NameNode和DataNode的namespaceID不一致,這個錯誤是很多人在安裝時會遇到的,日志信息為:

java.io.IOException: Incompatible namespaceIDs in /root/tmp/dfs/data: NameNode namespaceID = 1307672299; DataNode namespaceID = 389959598

?

若HDFS一直沒有啟動,讀者可以查詢日志,并通過日志進行分析,以上提示信息顯示了NameNode和DataNode的namespaceID不一致。
這個問題一般是由于兩次或兩次以上的格式化NameNode造成的,有兩種方法可以解決,第一種方法是刪除DataNode的所有資料(及將集群中每個datanode的/hdfs/data/current中的VERSION刪掉,然后執行hadoop namenode -format重啟集群,錯誤消失。<推薦>);第二種方法是修改每個DataNode的namespaceID(位于/hdfs/data/current/VERSION文件中)<優先>或修改NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中),使其一致。
下面這兩種方法在實際應用中也可能會用到。
1)重啟壞掉的DataNode或JobTracker。當Hadoop集群的某單個節點出現問題時,一般不必重啟整個系統,只須重啟這個節點,它會自動連入整個集群。
在壞死的節點上輸入如下命令即可:

bin/Hadoop-daemon.sh start DataNode bin/Hadoop-daemon.sh start jobtracker


2) 動態加入DataNode或TaskTracker。這個命令允許用戶動態將某個節點加入集群中。

bin/Hadoop-daemon.sh --config ./conf start DataNode bin/Hadoop-daemon.sh --config ./conf start tasktracker

?

?

總結

以上是生活随笔為你收集整理的hadoop datanode启动失败的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。