【发布时间】:2012-08-04 03:08:28
【问题描述】:
我们在 EC2 上有一个带有 6 个区域服务器的小型 Hbase 集群。最近我们发现其中一个列族中的数据对我们来说真的没那么有用,因此决定放弃它。这个特定的列族占用了磁盘上 50% 以上的空间。 我们更改了表格,删除了列族并运行了主要压缩。 我们还对“-ROOT-”和“.META”进行了主要压缩。表。 但是总 DFS 文件大小仍然没有减少? 我们是否在这里遗漏了什么。 任何帮助/指针将不胜感激。
问候。
【问题讨论】:
我们在 EC2 上有一个带有 6 个区域服务器的小型 Hbase 集群。最近我们发现其中一个列族中的数据对我们来说真的没那么有用,因此决定放弃它。这个特定的列族占用了磁盘上 50% 以上的空间。 我们更改了表格,删除了列族并运行了主要压缩。 我们还对“-ROOT-”和“.META”进行了主要压缩。表。 但是总 DFS 文件大小仍然没有减少? 我们是否在这里遗漏了什么。 任何帮助/指针将不胜感激。
问候。
【问题讨论】:
知道了! 这是 Hbase 中的一个错误。他们不会从 HDFS 中删除文件管理器。我们必须从 hadoop-files 系统中查找并删除文件。
【讨论】:
只是添加另一件事来检查 - 至少在 Hbase 0.90.4 中,删除表会从 HDFS 中删除文件,但 .logs 目录的内容不一定。
例如,运行hadoop fs -du /yourHbaseDirInDFS,您将看到.logs 目录中仍然存在大量数据。在重新启动 HBase 集群之前,这似乎不会消失。或者我猜你可以手动删除日志文件,但对我来说让 hbase 来做这件事似乎更好。
【讨论】: