데이터 센터에 6 개의 노드가있는 클러스터가 있습니다 (각각 3 개의 노드). 우리는 하나 개의 노드에서 복구를 시작하고 곧 afterwords 우리는 로그에 이런 식으로 뭔가를 찾을 수 있습니다카산드라 3 복구가 완료되지 않음
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 %에서 단 하나의 CPU 만 사용하고 데이터 및 색인 파일은 커지지만 이제는 하루 이상 실행되며 파일의 크기는 이제 1.2GB 밖에되지 않습니다.
"sstablescrub"이 너무 느린 것은 정상입니까?
클러스터가 이미 일정 시간 실행되고 있으며 복구를 위해 GCGraceSeconds가 누락되었습니다. 작동하지 않는 수리로 이어질 수도 있습니까?
현재 우리는 누군가가 도와 줄 수있는 희망을 실행하는 방법을 모르고 있습니다.
손상된 정확한 sstable 파일을 확인하고 복구가 실패 했습니까? –
불행히도 정확한 sstable을 찾지 못했습니다. java.lang.RuntimeException가 : 다른 노드에서 –