問題描述: Hbase master起不來,hdfs沒有問題,起來後沒過一會進程又宕了,hdfs磁碟爆了。 解決過程: 開始懷疑是zookeepr宕了。查看配置發現是zookeeper在三台slaves上面,可能會造成資源搶占,zookeeper會被hbase擠掉。 所以將其中一臺slaves轉到m ...
問題描述:
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'