cassandra - How do I run a repair only within a certain datacenter? -
i want run repair specific cassandra datacenter within larger cluster. how can nodetool repair -local -pr
not seem work:
$ nodetool repair -local -pr exception in thread "main" java.lang.runtimeexception: primary range repair should performed on nodes in cluster. @ org.apache.cassandra.tools.nodecmd.optionalksandcfs(nodecmd.java:1680) @ org.apache.cassandra.tools.nodecmd.main(nodecmd.java:1378)
per cassandra-7317 should use -pr when mean run repair -pr on nodes in cluster (this includes data centers). otherwise, may end missing token ranges in repair.
the error message seeing introduced in c* 2.0.9 prevent users running -local , -pr together.
if want repair local dc, don't use -pr flag.
to decrease impact of running repairs check out these options:
opscenter repair service
takes care of repairs automatically , spreads them out across gc_grace period don't 1) have worry repairs operational perspective , 2) cassandra ingest isn't affected expensive weekly job (repairs cpu , io intensive).
repair service alternative
if you're not on dse, repair service grayed out. can write , manage own repair service script. check out stump's github example of might like.
note: keep eye on ticket cassandra-6434
Comments
Post a Comment