У нас есть кластер с 6 узлами в датацентрах (по 3 узла). Мы начинаем ремонт на одном узле и вскоре послесловие мы можем найти что-то подобное в журналах:Cassandra 3 Repair никогда не заканчивается
ERROR [Repair#1:1] 2016-05-31 01:33:28,075 CassandraDaemon.java:195 - Exception in thread Thread[Repair#1:1,5,RMI Runtime]
com.google.common.util.concurrent.UncheckedExecutionException: org.apache.cassandra.exceptions.RepairException: [repair #e8e21070-26be-11e6-aae8-77b20cefeee5 on ..... Validation failed in /xx.xxx.xx.xx
at com.google.common.util.concurrent.Futures.wrapAndThrowUnchecked(Futures.java:1525) ~[guava-18.0.jar:na]
at com.google.common.util.concurrent.Futures.getUnchecked(Futures.java:1511) ~[guava-18.0.jar:na]
at org.apache.cassandra.repair.RepairJob.run(RepairJob.java:162) ~[apache-cassandra-3.0.4.jar:3.0.4]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_77]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_77]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_77]
Afterwords ничего не кажется, происходит больше. Мы не прерывали ремонт в течение нескольких дней, но до сих пор ничего не происходит. Мы также пробовали это на двух разных кластерах с тем же результатом.
После поиска в Интернете мы наткнулись на https://support.datastax.com/hc/en-us/articles/205256895--Validation-failed-when-running-a-nodetool-repair. В нем говорится, что мы должны запустить «nodetool scrub», и если это не поможет «sstablescrub».
Мы попробовали кустарник nodetool, но ремонт все еще не работает. Теперь мы запустили sstablescrub, но, похоже, навсегда. Он использует только один процессор на 100%, а файл данных и индексов растет, но теперь он работает более одного дня, и теперь размер файла составляет всего 1,2 ГБ.
Нормально ли, что «sstablescrub» настолько медленный?
Кластер уже работает в течение некоторого времени, и мы пропустили GCGraceSeconds для ремонта. Может ли это привести к неработоспособному ремонту?
В настоящее время мы не знаем, как получить ремонт, надеясь, что кто-то может помочь.
Вы идентифицировали точный файл sstable, который был поврежден и вызвал сбой ремонта? –
К сожалению, мы не нашли точного sstable. –