1
votes

We have 6 nodes cassandra cluster. We are using cassandra version 2.2.8. I am a new member of the team and new to cassandra. I am now owning the cassandra cluster without much tribal knowledge on when was the last repair run and etc. I replaced one of the dead node couple of week ago and now looking to run the nodetool repair on full cluster. I see that there is a cron job running on one of the node "nodetool repair -pr". I have two questions from here. I searched for these topics already and did not find a clear answer.

Questions 1: Which command should I run to run a full repair on the cluster? Is there any consequences of running a full repair if "nodetool repair -pr is run everyday on one node? (I`ll stop the cron job "nodetool repair -pr when I kick off the full repair).

Question 2: I read online that "nodetool repair -pr" needs to be run on each node? I got mixed answers. I am using cassandra 2.2.8 so does it really need to be run on all the nodes separately or running this cron on one node will run it for the full cluster?

I am looking to run the repair today as there is a much lighter load on our cluster over the weekend. I would appreciate your quick feedback!

2
You should Run repair -full -pr on each node in sequence and make sure the entire repair process finishes before grace period.Laxmikant
You should Run repair -full -pr on each node in sequence and make sure the entire repair process finishes before grace period.Laxmikant

2 Answers

2
votes

Beware that incremental repairs (the default in Cassandra 2.2 and later) have some problems. The recommended solution is to use a tool like Cassandra Reaper to orchestrate your repairs doing full subranges.

http://thelastpickle.com/blog/2017/12/14/should-you-use-incremental-repair.html

http://cassandra-reaper.io/

0
votes

Run full repair as nodetool repair on each node one by one. disable crone job because nodetool repair -pr repair only primary ranges. repair takes time depends upon the database size.