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 .
修復版本 1.2.0 .
問題出在 這個
/hbase/MasterProcWALs 下面的日誌太多了 .
然後 在master 變成 active 之前, 需要回復這些檔案.
當這些檔案太多的時候, 在想namenode 請求資訊的時候.
導致 tcp buffer 滿了.
然後對namenode 形成了事實上的ddos 攻擊.
然後master 超時下線了.
所以啟動不了.
重啟 叢集就可以了.
或者讓這個目錄下面的檔案數不要太多.
------------------ 解決方案 ------------------
如果 暫時無法執行版本升級.
那麼 可以週期性的切換 master 來規避這個問題.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2645305/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- hbase構建二級索引解決方案索引
- Android7.1.1Toast崩潰解決方案AndroidAST
- HBase海量資料高效入倉解決方案
- WWDC 2018:理解崩潰以及崩潰日誌
- 記錄一次解決App崩潰問題的解決方案APP
- win10系統驅動崩潰怎麼辦_win10系統驅動經常崩潰解決方法Win10
- VMware虛擬化環境下重灌系統導致的伺服器崩潰解決方案伺服器
- HBase 的結構與表的對應關係
- hbase之hbase shell
- CrashSight異常崩潰管理解決方案
- win10 qq影片崩潰怎麼修復_win10系統qq影片老是崩潰解決方法Win10
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- HBase Replication詳解
- HBase建模、使用以及優化優化
- win10 pr崩潰怎麼解決_win10 pr崩潰解決辦法Win10
- Hbase(二)Hbase常用操作
- Android 12 “致命”崩潰解決之路Android
- hbase啟動失敗問題解決
- 絕地求生崩潰怎麼解決win10_win10絕地求生崩潰的解決方法Win10
- AI|經常崩潰的問題解決AI
- qq遊戲崩潰w10解決方法_w10系統玩qq遊戲老崩潰如何修復遊戲
- win10 qq視訊崩潰怎麼修復_win10系統qq視訊老是崩潰解決方法Win10
- hbase - [04] java訪問hbaseJava
- HBase 教程:什麼是 HBase?
- win10系統firefox多開崩潰怎麼修復_win10 firefox多開總是崩潰解決方法Win10Firefox
- HBase-Region詳解
- win10系統下AMD驅動程式崩潰了怎麼解決Win10
- 供應鏈系統解決方案
- HBase
- 能否讓APP永不崩潰—小光與我的對決APP
- [解決] Goland 開啟後直接崩潰GoLand
- hbase 故障的處理方案。 (轉載文章)
- TDSQL | 在整個技術解決方案中HTAP對應的混合交易以及分析系統應該如何實現?SQL
- HBase 系列(五)——HBase常用 Shell 命令
- 解決方案| MongoDB PSA 架構痛點以及如何應對?MongoDB架構
- HBase 系統架構及資料結構架構資料結構
- win10系統下玩戰爭機器4不斷崩潰的解決方法Win10
- win10系統用一會就崩潰如何解決Win10