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 可以包含对表的未提交更改),因此如果您手动删除文件,请确保运行 hbase hbck 以检查并修复 HBase 的表.

更好的方法是找出集群的问题,添加节点等,而不是手动删除

于 2013-03-16T18:35:01.060 回答