程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> hadoop常見錯誤以及處理方法詳解

hadoop常見錯誤以及處理方法詳解

編輯:關於PHP編程

1、hadoop-root-datanode-master.log 中有如下錯誤:
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in
導致datanode啟動不了。
原因:每次namenode format會重新創建一個namenodeId,而dfs.data.dir參數配置的目錄中包含的是上次format創建的id,和dfs.name.dir參數配置的目錄中的id不一致。namenode format清空了namenode下的數據,但是沒有清空datanode下的數據,導致啟動時失敗,所要做的就是每次fotmat前,清空dfs.data.dir參數配置的目錄.
格式化hdfs的命令
復制代碼 代碼如下:
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
關閉防火牆
復制代碼 代碼如下:
service iptables stop

機器重啟後,防火牆還會開啟。

3、從本地往hdfs文件系統上傳文件,出現如下錯誤:
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.
解決方法:
關閉防火牆:
復制代碼 代碼如下:
service iptables stop

禁用selinux:
編輯 /etc/selinux/config文件,設置“SELINUX=disabled”

4、安全模式導致的錯誤
org.apache.hadoop.dfs.SafeModeException: Cannot delete ..., Name node is in safe mode
在分布式文件系統啟動的時候,開始的時候會有安全模式,當分布式文件系統處於安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可。
復制代碼 代碼如下:
hadoop dfsadmin -safemode leave

關閉安全模式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved