How to reduce repair time of Cassandra cluster?

Viewed 163

Having 18 nodes of Cassandra cluster in production, I need to reduce repair time using the reaper, I have scheduled an incremental repair using Reaper version 2.2.3 with the following values:

Segment count per node  16
Intensity   0.94
Repair threads  3

Each node has 4 CPU cores, so I can't increase the number of repair threads further. In the config file of Reaper (cassandra-reaper.yaml) I can see the following values:

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

Can I change the value of the above parameters to reduce the timing of the whole repair process?

Since I used incremental repair, my expectation was repairing each node takes less than an hour not more than 3 hours!

1 Answers

One aspect that weighs in here, is the amount of data on each node. That comes into play if you're being bottlenecked on either network or disk I/O, and makes a HUGE impact when it comes to streaming data (for repairs).

So if you have (for example) 18 nodes @ 500GB each, doubling your node count to have 36 nodes @ 250GB should help. Yes, it should take the same exact amount of time. But repair streams on smaller nodes are much less likely hang.

Related