HBase 磁盤爆滿 無法啟動


 問題描述:  
  Hbase master起不來,hdfs沒有問題,起來后沒過一會進程又宕了,hdfs磁盤爆了。
 解決過程:
  開始懷疑是zookeepr宕了。查看配置發現是zookeeper在三台slaves上面,可能會造成資源搶占,zookeeper會被hbase擠掉。
  所以將其中一台slaves轉到master上面,同事說一般zookeeper會是單獨機器防止資源搶占,有些道理但是有待考證。
  通過 hadoop fsadmin -report 命令查看到磁盤已經爆滿。看來問題找到了,怎么解決呢?
  master起不來也不能執行語句刪除,另外執行語句刪除后要compact,磁盤空間才會得到釋放;
  此時只能通過強制刪除一張表來解決,到hdfs:/hbase/data/default下刪除一張較小且好恢復的表。
  查看一下此時的hdfs磁盤情況。先啟動zookeeper再啟動hbase.
  正常啟動后,創建剛才強制刪除的表,但是並不一定能創建成功,可能會提示創建表已經存在,刪除該表時,提示不存在
 解決方法:
       1.清除Zookeeper內存數據庫中的相關數據 zkCli.sh ,
         這里我發現 在master上執行不起來,沒有關系,試試在其他啟動zookeeper的機子上執行腳本,成功進入后,
          (1)刪除 /hbase/table-lock下的相關數據
                ls /hbase/table-lock
                rmr /hbase/table-lock/表名
          (2)刪除 /hbase/table下的相關數據
                ls /hbase/table
                rmr /hbase/table/表名
       2.創建表
           create 'LIVE_AD_CHANNEL_CHANGE',{NAME=>'T'},{NAME=>'R'},{NAME=>'E'}
       3.修改表設置,比如 修改TTL 改為  16天 1382400
         alter 'LIVE_AD_CHANNEL_CHANGE',NAME=>'T',TTL=>'1382400'                                            
         alter 'LIVE_AD_CHANNEL_CHANGE',NAME=>'R',TTL=>'1382400'                                            
         alter 'LIVE_AD_CHANNEL_CHANGE',NAME=>'E',TTL=>'1382400'
      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM