hadoop常见错误即解决方法
http://blog.csdn.net/yonghutwo/article/details/9206059
如果大家在安裝的時候遇到問題,或者按步驟安裝完后卻不能運行Hadoop,那么建議仔細查看日志信息,Hadoop記錄了詳盡的日志信息,日志文件保存在logs文件夾內。
無論是啟動,還是以后會經常用到的MapReduce中的每一個job,以及HDFS等相關信息,Hadoop均存有日志文件以供分析。
1、hadoop-root-datanode-master.log 中有如下錯誤:
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in導致datanode啟動不了。
原因:每次namenode format會重新創(chuàng)建一個namenodeId,而dfs.data.dir參數(shù)配置的目錄中包含的是上次format創(chuàng)建的id,和dfs.name.dir參數(shù)配置的目錄中的id不一致。namenode format清空了namenode下的數(shù)據(jù),但是沒有清空datanode下的數(shù)據(jù),導致啟動時失敗,所要做的就是每次fotmat前,清空dfs.data.dir參數(shù)配置的目錄.
格式化hdfs的命令
Shell代碼
hadoop namenode -format
2、如果datanode連接不上namenode,導致datanode無法啟動。
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to ... failed on local exception: java.net.NoRouteToHostException: No route to host
關閉防火墻Shell代碼
service iptables stop
機器重啟后,防火墻還會開啟。
3、從本地往hdfs文件系統(tǒng)上傳文件,出現(xiàn)如下錯誤:
INFO hdfs.DFSClient: Exception in createBlockOutputStream java.io.IOException: Bad connect ack with firstBadLink
INFO hdfs.DFSClient: Abandoning block blk_-1300529705803292651_37023
WARN hdfs.DFSClient: DataStreamer Exception: java.io.IOException: Unable to create new block.
解決方法:
關閉防火墻:
Shell代碼
service iptables stop
禁用selinux:
編輯 /etc/selinux/config文件,設置“SELINUX=disabled”
4、安全模式導致的錯誤
org.apache.hadoop.dfs.SafeModeException: Cannot delete ..., Name node is in safe mode
在分布式文件系統(tǒng)啟動的時候,開始的時候會有安全模式,當分布式文件系統(tǒng)處于安全模式的情況下,文件系統(tǒng)中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統(tǒng)啟動的時候檢查各個DataNode上數(shù)據(jù)塊的有效性,同時根據(jù)策略必要的復制或者刪除部分數(shù)據(jù)塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統(tǒng)啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可。
Java代碼
hadoop dfsadmin -safemode leave
5、以本地模式運行hadoop時,拋異常
ERROR security.UserGroupInformation: PriviledgedActionException as:hadoop cause:java.net.UnknownHostException: hadoop: hadoop: Name or service not known
Exception in thread "main" java.net.UnknownHostException: hadoop: hadoop: Name or service not known
把/etc/hostname文件中的主機名加入到/etc/hosts文件中,問題解決。
6、格式化hdfs文件系統(tǒng)時,出錯:
Format aborted in /home/hadoop/dfs/name
/home/hadoop/dfs/name 是 dfs.name.dir 配置的本地路徑,把這個目錄刪除,
再格式化就可以了。
7、datanode無法啟動,datanode的日志中有error:
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid
發(fā)現(xiàn)日志前一行有warn:WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permissi on for /home/hadoop/dfs/data, expected: rwxr-xr-x, while actual: rwxrwxr-x
按照日志修改了目錄的訪問權限,問題解決。
8.hadoopdatanode啟動不起
例如:
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刪掉,然后執(zhí)行hadoopnamenode-format重啟集群,錯誤消失。<推薦>);第二種方法是修改每個DataNode的namespaceID(位于/hdfs/data/current/VERSION文件中)<優(yōu)先>或修改NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中),使其一致。
下面這兩種方法在實際應用中也可能會用到。
1)重啟壞掉的DataNode或JobTracker。當Hadoop集群的某單個節(jié)點出現(xiàn)問題時,一般不必重啟整個系統(tǒng),只須重啟這個節(jié)點,它會自動連入整個集群。
在壞死的節(jié)點上輸入如下命令即可:
bin/Hadoop-daemon.sh start DataNode
bin/Hadoop-daemon.sh start jobtracker
2) 動態(tài)加入DataNode或TaskTracker。這個命令允許用戶動態(tài)將某個節(jié)點加入集群中。
bin/Hadoop-daemon.sh --config ./conf startDataNode
bin/Hadoop-daemon.sh --config ./conf start tasktracker
9.強行關機或hadoop意外中斷會出現(xiàn)這種錯誤:
not start task tracker because java.io.IOException: Failed to set permissions o
f path: \app\hadoop\tmp\mapred\local\ttprivate to 0700
source name ugi already exists
重新格式化也不行,總是提示 Re-format filesystem in
刪除hadoop節(jié)點的data臨時目錄,就是core-site.xml的hadoop.tmp.dir配置的那個系統(tǒng)文件目錄, 注意,不是hdfs的那個目錄(hls -ls 看到的那個目錄),必須是操作系統(tǒng)直接看到的那個臨時目錄。然后重新格式化就可以解決問題。
10. 錯誤:Format aborted in /usr/local/hadoop/hdfsconf/name,啟動后發(fā)現(xiàn)發(fā)現(xiàn)http://das0:5007無法顯示。
將/data0/hadoop-name文件夾整個刪除。然后再格,成功!!!
轉載于:https://blog.51cto.com/kisuntech/1304629
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的hadoop常见错误即解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 更新幅度不大、系统要求不变,微软确认第
- 下一篇: Win11 Build 25905 预览