2013-03-13 119 views
1

我有一個HBase安裝的小型開發集羣。我的羣集的磁盤使用已滿容量,所以我需要刪除一些數據,但我無法啓動regionservers。他們與日誌中的消息失敗:手動刪除HBase數據

File /hbase/.logs/<some file> could only be replicated to 0 nodes, instead of 1 

我推測是因爲集羣中沒有剩餘空間。

我想知道,我可以安全地從HBase手動刪除(通過hdfs)而不會導致任何類型的元數據損壞?

佔用HDFS中大部分空間的領域是

/hbase/.logs 
/hbase/mytable 

如果我不再關心mytable數據,可我只是

hadoop fs -rmr /hbase/mytable 

手動刪除它或將HBase的抱怨下一次啓動時?

謝謝,

回答

3

建議不要直接通過HDFS刪除表。請注意,HBase在各個位置存儲關於表的數據(.META表,zookeeper,.logs可以包含對錶的未提交更改),所以如果您執行手動文件刪除,請確保運行hbase hbck來檢查和修復HBase的表。

更好的方法是找到羣集有問題,添加節點等,而不是手動刪除