1.HDFS 修復
問題描述:其他部門在yarn平台上跑spark 程序錯誤的生成了海量的不到100K的小文件,導致namenode壓力過大,其中一個namenode宕機后,沒有及時發現 使得edits文件大量積累,在namenode1宕機后,namenode2 隨后在凌晨1點也宕機。
原因分析:NameNode 內存設置太低,之前內存設置在1G,后調高namenode 堆內存,調高到18G。編寫程序的人員不應該生成海量的小文件落地HDFS,大量的小文件不適合存儲在HDFS上。
問題解決方案:提高namenode 內存,由於edits文件太多,刪除了edits文件,但是journalNode 上edits txid不一致,導致namenode 無法啟動,后執行命令 初始化edits文件的txid ,修復完畢!丟失了少量的文件。
2.Spark 客戶端安裝后Driver和Yarn無法通訊
問題描述:項目經理在10.10.26.7 機器上安裝spark 客戶端,但是dirver端和yarn無法通訊.一直報通訊超時
原因分析:由於客戶端是centos6,服務端為centos7。底層通訊方式不相同
問題解決方案:升級客戶端機器到centos7問題解決。
3.Phoenix 安裝和Hive出現沖突
問題描述:把 phoenix-hbase-client.jar phoenix-hbase-core.jar phoenix-hbase-server.jar 放到了hbase的jar目錄下,hbase 使用沒有問題,phoenix使用沒有問題,但是執行hive命令報錯,hive無法使用。
原因分析:hive首先加載hive lib目錄下的jar文件,然后加載hbase 下的jar文件,由於hbase下phoenix-hbase-client.jar文件中的一個java文件依賴的其他jar版本太低,hive版本太高,無法找到其中一個類,然后報ClassNotDef
問題解決方案:去掉phoenix-hbase-client.jar 即可,目前看來這個包沒有什么用。
4.HDFS擴容升級
問題描述:新增加機器,擴容HDFS,已經擴容完畢,之后運維部重新掛載磁盤,HDFS出現邏輯卷錯誤
問題分析:日志顯示掛載磁盤錯誤,實際是寫數據的目錄權限不足
問題解決方案:修改掛載的磁盤的所屬用戶為hadoop,重新啟動dataNode即可
5.Yarn NodeManager OOM
問題描述:向集群提交大的作業 Yarn平台的NodeManager OOM ,OOM死掉后的NodeManager,存活的NodeManager 正在運行就會出現core使用出現負數。
問題分析:由於yarn進程所需的內存不足出現OOM
問題解決方案:在/opt/hadoop/libexe/hadoop_config.sh 在尾部添加
6. Impala 根據時間戳查詢Hbase
問題描述:使用Impala 查詢hbase中的數據,出現錯誤找不到列
問題分析:impala不支持根據hbase timestamp查詢
問題解決方案:https://issues.apache.org/jira/browse/IMPALA-2121
7.HDFS 異構存儲 磁盤容量不一致
問題描述:由於HDFS dataNode節點的磁盤大小不一致,導致小容量的HDFS先打滿,yarn跑任務出現問題
問題分析:盡量讓數據一致
問題解決方案:開啟HDFS讓數據優先寫入容量大的磁盤,優先寫入容量的dataNode節點,開啟rebalance
8.HDFS 機架感知不可以同時存在有機架和沒有機架的節點
問題描述:機架感知不可以同時存在有機架和沒有機架的節點
問題分析:開始以為是HDFS的topology.sh文件中的default-rack導致的,但是修改為已有的機架依舊不可以,觀察HDFS源碼發現hdfs源碼中也有default-rack,如果沒有機架配置默認使用default-rack即沒有機架
問題解決方案:由於topology.data文件最后一行需要回車即可
9.Yarn NodeManager 宕機
問題描述:新增的NodeManager 機器NodeManager 進程一直宕
問題分析:觀察日志問OOM,打開文件limit受限制
問題解決方案:修改linux系統其它用戶打開文件數量的限制即可解決
10. HDFS NameNode無法和JournalNode通訊,NameNode宕機
問題描述: 由於運維修改網絡導致journalNode無法和nameNode 通訊,觀察日志NameNode嘗試與journalNode通訊10次失敗后,NameNode直接宕機
問題分析: JournalNode網絡通訊高可用需要保證
問題解決方案:重新啟動nameNode問題解決