升級Hbase,解決bug問題

報錯:

master.HMaster: Failed to become active master

環境: 
  OS: CENTOS6.5

  Hadoop: 2.7.1

  Hbase: 1.0.4

  ZooKeeper: 3.4.6

動作: 

  Hbase 升級版本1.0.4 --> 1.2.4


       下午接到老朋友電話,說Hbase Master開不起來,因爲是生產環境,所以異常着急。事發在凌晨4點多,有一個服務器的硬盤壞了,導致該服務器的Hadoop服務異常了,Hbase也受到了影響,應該是程式正在寫hbase的進程受到影響,隨之Hbase集羣掛掉了。管理員接到產線電話後,***連接到服務器重啓服務,hadoop開啓是正常的,可是Hbase的Master一直無法重啓。並報錯,如下:image.png

        參考了很多很多的文章,一直無法解決此問題,一般Hbase的問題解決就是2個思路,要麼內存分配有問題,要麼就是參數異常,這次顯然並不簡單,我們有懷疑過是不是Zookeeper異常,導致一直無法獲得ClusterID,可是如果Zookeeper異常的話hadoop不可能開得起來,所以排除Zookeeper異常造成。

       最後看到google上有提到,是bug的影響。最終,定出2種方案,要麼升級Hbase版本,要麼數據清除重構。相對之下,更新Hbase版本比較快和安全,因爲Hbase的數據是存儲在Hadoop裏的,Hadoop的數據沒有問題,所以升級Hbase不會對Hadoop的數據產生影響。
image.png

        由於接近吃飯時間了,我就去外面打個飯,還沒有打包完,就接到好消息,說數據庫集羣開起來了,而且數據沒有丟,一切正常。

        整個解決過程接近4個小時,花了很多時間去研究問題,也嘗試了很多的方法,最終要升級數據庫集羣版本,這還是第一次。Bug這種東西,不會經常遇到,可是遇到的時候就是最鬱悶的時候,要麼繞過,要麼迎面解決。這次我們是迎面解決了問題。Yeah. 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章