Cassandra nodetool修复需要很长时间才能完成

Cassandra nodetool修复需要很长时间才能完成,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我目前正在18节点配置中运行Cassandra 3.0.9。我们加载了大量数据,现在正在对每个节点进行修复。我的nodetool命令的脚本如下所示: nodetool repair -j 4 -local -full 使用nodetool tpstats,我看到4个线程需要修复,但修复速度非常慢。按照这个速度,我有1000次的修理,需要几周的时间。系统日志中有修复项,但也列出了“重新分配索引摘要”。这就是导致我行动迟缓的原因吗?有没有更快的方法 修复可能需要很长时间,有时几天,有时几周。您可以

我目前正在18节点配置中运行Cassandra 3.0.9。我们加载了大量数据,现在正在对每个节点进行修复。我的nodetool命令的脚本如下所示:

nodetool repair -j 4 -local -full

使用nodetool tpstats,我看到4个线程需要修复,但修复速度非常慢。按照这个速度,我有1000次的修理,需要几周的时间。系统日志中有修复项,但也列出了“重新分配索引摘要”。这就是导致我行动迟缓的原因吗?有没有更快的方法

修复可能需要很长时间,有时几天,有时几周。您可以通过以下几点进行改进:

  • 运行主分区范围修复(-pr)这将只修复每个节点的主分区范围,总的来说,这将更快(您仍然需要在每个节点上运行修复,一次一个)
  • 使用-j不一定是大赢家。当然,您将一次修复多个表,但是您在集群上增加了更多的负载,这可能会损害您的延迟
  • 您可能希望优先修复对应用程序最关键的键空间/表
  • 确保节点密度保持合理。每个节点1到2TB
  • 重点优先修复宕机超过3小时的节点(假设max_hint_window_in_ms设置为其默认值)
  • 重点优先修复为其创建逻辑删除的表(DELETE语句)