1

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は次に起動したときに文句を言いますか?

ありがとう、

4

1 に答える 1

3

HDFSを介してテーブルを直接削除することはお勧めしません。HBaseはテーブルに関するデータをさまざまな場所に保存することに注意してください(.META。テーブル、zookeeper、.logsにはテーブルへのコミットされていない変更が含まれる可能性があります)。手動でファイルを削除する場合は、必ずhbasehbckを実行してHBaseのテーブルを確認および修正してください。 。

より良い方法は、手動で削除するのではなく、クラスターの何が問題になっているのかを見つけたり、ノードを追加したりすることです。

于 2013-03-16T18:35:01.060 に答える