一个 cleanup 是一种压缩,只是删除节点令牌范围之外的东西。一个 repair 有一个“验证压缩”来构建一个merkle树来与其他节点进行比较,所以部分 nodetool repair 将有一个压缩。
cleanup
repair
nodetool repair
是否可以在压缩任务运行时处理修复任务,还是在压缩任务运行时进行清理?
在正常的压缩,修理,清理,磨砂等方面有一个共享的压缩池。这就是 concurrent_compactors 在cassandra.yaml中设置,默认为核心数据和数据目录的组合: https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L572
concurrent_compactors
清理是一项需要每周执行修复的操作吗?
不,仅在拓扑发生变化之后。
为什么修复操作需要手动执行,而不是Cassandra默认行为?
它的手册因为它的要求可能会因你的数据而有很大不同 gc_grace 要求是。 https://issues.apache.org/jira/browse/CASSANDRA-10070 将它带入Cassandra虽然如此,它将是自动的。
gc_grace
健康集群维护的基本规则是什么?
我会(意见)说: