大數據bug總結以及解決方案

集群搭建bug

Bug1:

解決方案:

1.首先確定兩臺虛擬機的IP是固定的,並且是之前配置的

2.格式化以後,查看datanode上的namenode上的 namenode位置下的current目錄下的VERSION文件,將clusterID修改為與 namenode上的clusterID一致。

大數據bug總結以及解決方案

Bug2:

配置ssh的時候。上傳公鑰不成功

解決方案:

保證兩臺虛擬機的用戶名一致,然後上傳。

Bug3:

啟動集群以後,主從節點數目不正確的問題。

解決方案:

如果是多出來節點,直接kill掉。

但是如果是少節點的問題。關閉集群,直接刪掉主從節點的hadoopdata以及logs文件,然後重新格式化,(重新格式化以後,注意兩個的version裡面的clusterID保持一致)繼續啟動集群

Bug4:

按照安裝文檔安裝集群的時候,注意所在的用戶,copy壓縮包,解壓壓縮包的時候儘量使用普通用戶,避免以後因為權限問題影響操作。

Bug5:

在搭建過程中出現不能傳輸文件,或者傳輸文件不成功,又或者傳輸文件有顯示,但就是在分節點中看不到。

解決方案:

進行排除,先看普通文件能不能傳過去,通過重新在子節點創建一個新文件夾,在主節點傳遞文件,看能不能傳,然後再重新傳秘鑰

讀取hdfs文件bug:(使用java)

Bug1:

大數據bug總結以及解決方案

解決方案(寫hdfs路徑的時候,寫全路徑):

Bug2:

配置ssh的時候。上傳公鑰不成功

解決方案:

重新生成秘鑰,由master上傳給slave。問題解決。

MapReduce出現的bug:

Bug1:

大數據bug總結以及解決方案

解決方案:

將hdfs已經存在的目錄刪掉,然後執行語句。問題解決。

Bug2:

大數據bug總結以及解決方案

解決方案:

仔細檢查包名.類名的正確性。

Bug3:

大數據bug總結以及解決方案

解決方案:

仔細檢查map方法裡面的參數類型,進行修改。

Bug4:

大數據bug總結以及解決方案

解決方案:

Hadoop dfsadmin -safemode leave

Bug5:

(出現原因,在手機流量項目的時候,需要實體類,實體類裡面沒有添加無參構造器)

大數據bug總結以及解決方案

解決方案:

添加無參構造器在實體類裡面,問題解決

Bug6:

大數據bug總結以及解決方案

解決方案:

該異常是指文件末尾系統還要往裡寫,但是要往裡寫的東西已經沒有了

注意一下寫文件的長度就行

Bug7:

大數據bug總結以及解決方案

解決方案:

切分好數據以後,先進行判斷,把髒數據丟掉。

Bug8:

大數據bug總結以及解決方案

解決方案:

hdfs-site.xml文件中加入

dfs.permissions

false

Bug9:

描述:ScoreAvg的MapReduce程序運行無異常信息,但結果不正確,如下:

大數據bug總結以及解決方案

解決方案:

原因分析:因為類型不匹配,沒有進入Reduce方法

解決方法:類型參數要匹配

Bug10:

大數據bug總結以及解決方案

解決方案:

1.檢查原始文件,確定沒有空行

2.檢查原始文件,確定分割符正確(和代碼中的切分符號一致)

Hbase出現的bug

Bug1:

(在啟動完hbase以後,jps查看進程都沒有問題,但是使用 hbase shell進入的時候,執行list命令的時候會報錯,報錯信息如下)

大數據bug總結以及解決方案

解決方案:

查看hbase日誌文件,發現進入安全模式,使用 hadoop dfsadmin -safemode leave

Bug2:

大數據bug總結以及解決方案

解決方案:

1.查看hbase有沒有啟動。

2.格式化namenode

節點的datanode 日誌信息中:

Incompatible namespaceIDs in /home/hadoop/tmp/dfs/data: namenode namespaceID = 1780037790

1節點的namenode日誌信息::java.io.IOException: File /home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1

將namenode的信息刪除,重新格式化

重新啟動,hbase正常

為了方便大家相互交流學習,創建了一個公眾號同名微信群:《大數據和雲計算技術交流群》,人數已經2500+,歡迎大家加我微信。


分享到:


相關文章: