您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Hbase master gone系統崩潰、遭遇hbase bug以及對應的解決方案是什么 ,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
hbase 雙master 架構, 掛掉了.
master 無法轉為active了 . 整個系統重啟多次 爆同樣的錯誤.
2019-05-21 14:50:55,189 WARN [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: attempt=3 on file=hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000026244.log after 73101ms
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException): Failed to RECOVER_LEASE /hbase/MasterProcWALs/state-00000000000000026244.log for DFSClient_NONMAPREDUCE_-23587253_1 on 192.168.8.52 because the file is under construction but no leases found.
發現
/hbase/MasterProcWALs
下面很多文件
已經很久了. 這個目錄下面一共有1800多個文件.
這些文件都是0 長度的.
最后重啟hdfs .
重啟zookeep
然后重啟 hbase 問題解決.
但是奇怪的事情發生了.
上面目錄里的文件都消失了.
系統啟動后, 從日志里去找點東西出來看看:
2019-05-21 15:31:12,843 INFO [hadoop-8-51:16000.activeMasterManager] procedure.ZKProcedureUtil: Clearing all procedure znodes: /hbase/online-snapshot/acquired /hbase/online-snapshot/reached /hbase/online-snapshot/abort
2019-05-21 15:31:12,852 INFO [hadoop-8-51:16000.activeMasterManager] procedure.ZKProcedureUtil: Clearing all procedure znodes: /hbase/flush-table-proc/acquired /hbase/flush-table-proc/reached /hbase/flush-table-proc/abort
2019-05-21 15:31:12,879 INFO [hadoop-8-51:16000.activeMasterManager] master.MasterCoprocessorHost: System coprocessor loading is enabled
2019-05-21 15:31:12,892 INFO [hadoop-8-51:16000.activeMasterManager] procedure2.ProcedureExecutor: Starting procedure executor threads=25
2019-05-21 15:31:12,893 INFO [hadoop-8-51:16000.activeMasterManager] wal.WALProcedureStore: Starting WAL Procedure Store lease recovery
2019-05-21 15:31:13,016 INFO [hadoop-8-51:16000.activeMasterManager] util.FSHDFSUtils: Recovering lease on dfs file hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000026244.log
這些文件都被執行了一次恢復操作.
是什么問題導致的這些標志文件 ,
集群是主從兩個master 的. 一直都監控運行. 系統穩定性良好.
故障切換也沒有問題.
在網上找到了一篇 詳細的關于hdfs 文件恢復的帖子:
https://blog.cloudera.com/blog/2015/02/understanding-hdfs-recovery-processes-part-1/
master 在8.51上的時候, 發現 多了很多這個文件.
然后web 頁面看到 很多 region in tracsaction 也就是spli 失效了.
然后手動切換到 8.52
這些文件就消失了.
同時在 8.52 上 日志里看到了修復這些文件的日志.
2019-05-23 09:43:48,423 INFO [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: Recovering lease on dfs file hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000028058.log
2019-05-23 09:43:48,435 INFO [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: recoverLease=true, attempt=0 on file=hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000028058.log after 12ms
2019-05-23 09:43:48,470 INFO [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: Recovering lease on dfs file hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000028059.log
2019-05-23 09:43:48,471 INFO [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: recoverLease=true, attempt=0 on file=hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000028059.log after 1ms
2019-05-23 09:43:48,493 INFO [hadoop-8-52:16000.activeMasterManager] util.FSHDFSUtils: Recovering lease on dfs file hdfs://clusterpc/hbase/MasterProcWALs/state-00000000000000028060.log
也就是 只要適當的安排 master 的相互切換.
其實既可以規避這個問題.
發現HBASE 的一個bug . https://issues.apache.org/jira/browse/HBASE-14712修復版本 1.2.0 .
問題出在 這個
/hbase/MasterProcWALs 下面的日志太多了 .
然后 在master 變成 active 之前, 需要回復這些文件.
當這些文件太多的時候, 在想namenode 請求信息的時候.
導致 tcp buffer 滿了.
然后對namenode 形成了事實上的ddos 攻擊.
然后master 超時下線了.
所以啟動不了.
重啟 集群就可以了. 或者讓這個目錄下面的文件數不要太多.
------------------ 解決方案 ------------------
如果 暫時無法執行版本升級.
那么 可以周期性的切換 master 來規避這個問題.
上述就是小編為大家分享的Hbase master gone系統崩潰、遭遇hbase bug以及對應的解決方案是什么 了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。