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構建二級索引解決方案索引
- 【HBase】start master 與 start master --backup 的區別AST
- HBase海量資料高效入倉解決方案
- Android7.1.1Toast崩潰解決方案AndroidAST
- 記錄一次解決App崩潰問題的解決方案APP
- Node出錯導致執行崩潰的解決方案
- win10系統驅動崩潰怎麼辦_win10系統驅動經常崩潰解決方法Win10
- VMware虛擬化環境下重灌系統導致的伺服器崩潰解決方案伺服器
- 解決實名軟體造成的 XP系統崩潰問題(轉)
- qq遊戲崩潰w10解決方法_w10系統玩qq遊戲老崩潰如何修復遊戲
- win10 qq影片崩潰怎麼修復_win10系統qq影片老是崩潰解決方法Win10
- WWDC 2018:理解崩潰以及崩潰日誌
- MySQL server has gone away 解決方案MySqlServerGo
- win10 pr崩潰怎麼解決_win10 pr崩潰解決辦法Win10
- 升級iOS9和Xcode7後應用崩潰解決方案iOSXCode應用崩潰
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- CrashSight異常崩潰管理解決方案
- 關於應用啟動連續崩潰的解決思考
- LSM樹由來、設計思想以及應用到HBase的索引索引
- HBase建模、使用以及優化優化
- HBase Replication詳解
- 絕地求生崩潰怎麼解決win10_win10絕地求生崩潰的解決方法Win10
- Hbase(二)Hbase常用操作
- win10 qq視訊崩潰怎麼修復_win10系統qq視訊老是崩潰解決方法Win10
- Win10系統執行迅雷軟體頻繁崩潰的解決方法Win10
- WkWebView 令人崩潰的崩潰WebView
- hbase的儲存體系
- hbase啟動失敗問題解決
- 供應鏈系統解決方案
- win10系統下AMD驅動程式崩潰了怎麼解決Win10
- 如何挽救崩潰的WindowsXP作業系統Windows作業系統
- HBase刪除列族報錯的解決方法
- [解決] Goland 開啟後直接崩潰GoLand
- Android 12 “致命”崩潰解決之路Android
- HBase啟動,出現 master.TableNamespaceManager: Namespace table not foundASTnamespace
- (轉)hbase master掛掉-zookeeper連線超時原因AST
- HBase 教程:什麼是 HBase?
- HBase篇--HBase常用優化優化