【发布时间】:2015-03-01 01:27:35
【问题描述】:
我们的生产中有一个 5 节点的 cassandra 集群。全部运行 Cassandra 2.0.6。 集群将用户交互存储在列族的页面中。数据模型看起来像
Row Key:
20140101:http://example.com/myurlpath?myquery=1
Columns:
Counters
X:Y:Type => Counter Value
因为它是一种数据点流。我们有一个单独的 cron 主动删除超过 n 周的行 [删除所有列]。尽管我们的删除 cron 清空了旧行。行键仍然保留在我们的系统中[例如:仍然有一个时间戳为 20130517 的行键]。
我检查了 SO 帖子 here 和 here 还有 cassandra forum 答案没有明确的解决方案。我了解分布式删除和墓碑。但是这个行键问题对我来说仍然是一个神话。
我尝试强制进行重大压缩和清理,但没有任何改变。由于我们的 cassandra 集群使用的内存不断增加,因为我们的行键大小很高 [平均 120B]。
我们让列族的 gc_grace 设置保持默认的 10 天。如果这是问题,至少我们不应该看到超过一年[非常频繁出现]的行键最多一两个月就可以了。
我们应该如何管理 cassandra 中的行键删除?
【问题讨论】:
-
检查所有节点的日期时间..我遇到了同样的错误,在我的情况下所有节点都有不同的日期时间
标签: cassandra-2.0