【发布时间】:2017-09-05 07:46:46
【问题描述】:
我面临 Cassandra 的磁盘空间问题。其中一个键空间占用了将近 25 GB 的空间。由于这张表包含大量数据,我开始清理表,在 1 亿条记录中,我清理了 9800 万条记录。尽管进行了数据清理,cassandra 仍然占用 25 GB 空间。
为了确保 cassandra 仅占用剩余 200 万条记录的磁盘空间,我正在尝试实施以下方法(我有 5 个 cassandra 节点集群,所有键空间的复制因子设置为 3):
- 将第 6 个节点添加到现有集群并关闭现有节点的 1 个(假设是第一个节点)(这里我期望第一个节点的数据将复制到新添加的节点,因为复制因子设置为 3 和其中之一此副本已关闭)
- 一段时间后(考虑到将数据复制到新的 cassandra 节点需要一些时间),为接下来的 4 个新节点重复上述步骤(因此我的集群将包含新的 Cassandra 5 节点,其中数据从旧 cassandra 节点复制)李>
这是解决我的问题的正确方法吗?如果这不起作用或不是一个好的解决方案,我想了解原因以及任何安全的替代方法。
注意:我使用的是 Cassandra 2.1.14
【问题讨论】:
-
你试过运行 nodetool compact 吗?
-
不,我没有。它有帮助吗?在某处我读到我们不应该手动运行“nodetool compact”。
标签: amazon-ec2 cassandra cassandra-2.1 nosql