Cassandra 压实 vs 修复 vs 清理
Cassandra Compaction vs Repair vs Cleanup
发了question and reading this and that篇文章,还是不明白这三个操作的关系-
- Cassandra 压缩任务
- nodetool修复
- 节点工具清理
是否可以在压缩任务运行时处理修复任务,或者在压缩任务运行时进行清理?清理是一项需要每周执行的操作作为修复吗?为什么修复操作需要手动执行,而这不是 Cassandra 的默认行为?
健康集群维护的基本规则是什么?
A cleanup
是一种压缩,它只删除节点标记范围之外的东西。一个repair
有一个"Validation Compaction"来构建一个merkle树来与其他节点进行比较,所以nodetool repair
的一部分会进行压缩。
Is repair task can be processed while compaction task is running, or cleanup while compaction task is running?
在正常压缩、修复、清理、擦洗等之间有一个压缩共享池。这是 cassandra.yaml 中的 concurrent_compactors
设置,默认为核心和数据目录:https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L572
Is cleanup is a operation that need to be executed weekly as repair?
不,只有在拓扑真正改变之后。
Why repair operation need to be executed manually and it is not in Cassandra default behavior?
它的手册,因为它的要求在您的数据和 gc_grace
要求方面可能有很大差异。 https://issues.apache.org/jira/browse/CASSANDRA-10070 正在将它带入 Cassandra,所以将来它将是自动的。
What is the ground rules for healthy cluster maintenance?
我会(意见)说:
- 定期备份(取决于要求和可接受的数据丢失
这可以是从 weekly/daily 到不断增加的任何值)。
- 这与 "internal" 错误 ("Opps i deleted a customer") 和中断一样多。即使使用强大的多 dc 复制,您也需要一些最少的备份。
- 确保在这些表的 gc_grace 时间内至少完成一次删除的所有表的修复。
- 如果您希望能够调试问题,指标和日志存储非常重要。
发了question and reading this and that篇文章,还是不明白这三个操作的关系-
- Cassandra 压缩任务
- nodetool修复
- 节点工具清理
是否可以在压缩任务运行时处理修复任务,或者在压缩任务运行时进行清理?清理是一项需要每周执行的操作作为修复吗?为什么修复操作需要手动执行,而这不是 Cassandra 的默认行为?
健康集群维护的基本规则是什么?
A cleanup
是一种压缩,它只删除节点标记范围之外的东西。一个repair
有一个"Validation Compaction"来构建一个merkle树来与其他节点进行比较,所以nodetool repair
的一部分会进行压缩。
Is repair task can be processed while compaction task is running, or cleanup while compaction task is running?
在正常压缩、修复、清理、擦洗等之间有一个压缩共享池。这是 cassandra.yaml 中的 concurrent_compactors
设置,默认为核心和数据目录:https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L572
Is cleanup is a operation that need to be executed weekly as repair?
不,只有在拓扑真正改变之后。
Why repair operation need to be executed manually and it is not in Cassandra default behavior?
它的手册,因为它的要求在您的数据和 gc_grace
要求方面可能有很大差异。 https://issues.apache.org/jira/browse/CASSANDRA-10070 正在将它带入 Cassandra,所以将来它将是自动的。
What is the ground rules for healthy cluster maintenance?
我会(意见)说:
- 定期备份(取决于要求和可接受的数据丢失
这可以是从 weekly/daily 到不断增加的任何值)。
- 这与 "internal" 错误 ("Opps i deleted a customer") 和中断一样多。即使使用强大的多 dc 复制,您也需要一些最少的备份。
- 确保在这些表的 gc_grace 时间内至少完成一次删除的所有表的修复。
- 如果您希望能够调试问题,指标和日志存储非常重要。