如何减少 Cassandra 集群的修复时间?

问题描述 投票:0回答:1

生产环境中有 18 个 Cassandra 集群节点,我需要使用 reaper 减少修复时间,我已安排使用 Reaper 版本 2.2.3 进行增量修复,值如下:

Segment count per node  16
Intensity   0.94
Repair threads  3

每个节点有4个CPU核心,所以我无法进一步增加修复线程的数量。 在 Reaper 的配置文件(cassandra-reaper.yaml)中我可以看到以下值:

segmentCountPerNode: 32
repairIntensity: 0.9
scheduleDaysBetween: 7
repairRunThreadCount: 15
hangingRepairTimeoutMins: 240
incrementalRepair: true
maxParallelRepairs: 2

我可以更改上述参数的值来减少整个修复过程的时间吗?

由于我使用增量修复,我的期望是修复每个节点需要不到一个小时,不超过 3 小时!

cassandra cassandra-3.0
1个回答
2
投票

这里重要的一个方面是每个节点上的数据量。如果您在网络或磁盘 I/O 上遇到瓶颈,这就会发挥作用,并且在流数据(用于修复)时产生巨大影响。

因此,如果您(例如)有 18 个节点,每个节点 500GB,则将节点数加倍以拥有 36 个节点,每个节点 250GB 应该会有所帮助。是的,它应该花费相同的时间。但较小节点上的修复流挂起的可能性较小。

© www.soinside.com 2019 - 2024. All rights reserved.