Wenn ich einen kompakten Job auf einem Knoten erledigt habe, werden folgende Ausnahmen ausgelöst:
FEHLER [CompactionExecutor: 116922] 2016-04-07 12: 51: 17,291 CassandraDaemon.java:153 - Ausnahme im Thread-Thread [CompactionExecutor: 116922,1, main] org.apache.cassandra.io.sstable.CorruptSSTableException: org.apache .cassandra.io.compress.CorruptBlockException: (/data1/data/cassandra_uc_log/log_user-2fdda2a03a7f11e58156c78e55b68188/cassandra_uc_log-log_user-ka-7611-Data.db): Korruption erkannt, Chunk bei 602529 von L ength 12126. bei org.apache. cassandra.io.compress.CompressedRandomAccessReader.reBuffer (CompressedRandomAccessReader.java:92) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer (CompressedThrott : 41) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.io.util.RandomAccessReader.read (RandomAccessReader.java:326) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.utils.ByteBufferUtil.readWithLength (ByteBufferUtil.java:311) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at java.io.RandomAccessFile.readFully (RandomAccessFile.java:444) ~ [na: 1.7.0_60] at java.io.RandomAccessFile.readFully (RandomAccessFile.java:424) ~ [na: 1.7.0_60] at org.apache .cassandra.io.util.RandomAccessReader.readBytes (RandomAccessReader.java:351) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.utils.ByteBufferUtil.read (ByteBufferUtil.java: 348) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody (ColumnSerializer.java:132) ~ [apache-cassandra-2.1.2.jar: 2.1 .2] unter org.apache.cassandra.db.OnDiskAtom $ Serializer.deserializeFromSSTable (OnDiskAtom.java:86) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.db.AbstractCell $ 1.computeNext (AbstractCell.java:52) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.db.AbstractCell $ 1.computeNext ( AbstractCell.java:46) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter com.google.common.collect.AbstractIterator.tryToComputeNext (AbstractIterator.java:143) ~ [guava-16.0.jar: na ] unter com.google.common.collect.AbstractIterator.hasNext (AbstractIterator.java:138) ~ [guava-16.0.jar: na] unter org.apache.cassandra.utils.MergeIterator $ ManyToOne.advance (MergeIterator.java:125) ~ [apache-cassandra-2.1.2.jar: 2.1.2] bei org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext (SSTableIdentityIterator.java:116) ~ [apache-cassandra-2.1.2.jar: 2.1. 2] at org.apache.cassandra.utils.MergeIterator $ Candidate.advance (MergeIterator.java:146) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.utils.MergeIterator $ ManyToOne. computeNext (MergeIterator.java:99) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter com.google.common.collect.AbstractIterator.tryToComputeNext (AbstractIterator.java:143) ~ [guava-16.0.jar : na] bei com.google.common.collect.AbstractIterator.hasNext (AbstractIterator.java:138) ~ [guava-16.0.jar: na] bei com.google.common.collect.Iterators $ 7.computeNext (Iterators.java: 645) ~ [guava-16.0.jar: na] bei com.google.common.collect.AbstractIterator.tryToComputeNext (AbstractIterator.java:143) ~ [guava-16.0.jar: na] at com.google.common.collect.AbstractIterator.hasNext (AbstractIterator.java:138) ~ [guava-16.0.jar: na] unter org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow (DiskAwareRunnable.java:48) ~ [ apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.db.ColumnIndex $ Builder.buildForCompaction (ColumnIndex.java:165) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.db.compaction.LazilyCompactedRow.write (LazilyCompactedRow.java:110) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.io.sstable.SSTableWriter. append (SSTableWriter.java:200) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.io.sstable.SSTableRewriter.append (SSTableRewriter.java:115) ~ [apache-cassandra -2.1.2.jar: 2.1.2] bei org.apache.cassandra.db.compaction.CompactionTask.runWith (CompactionTask.java:183) ~ [apache-cassandra-2.1.2.jar: 2.1.2] bei org .apache.cassandra.utils.WrappedRunnable.run (WrappedRunnable.java:28) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.db.compaction.CompactionTask.executeInternal (CompactionTask. Java: 75) ~ [Apache-Cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute ( AbstractCompactionTask.java:59) ~ [apache-cassandra-2.1.2.jar: 2.1.2] unter org.apache.cassandra.db.compaction.CompactionManager $ BackgroundCompactionTask.run (CompactionManager.java:232) ~ [apache-cassandra -2.1.2.jar: 2.1.2] unter java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) ~ [na: 1.7.0_60] unter java.util.concurrent.FutureTask.run (FutureTask .java: 262) ~ [na: 1.7.0_60] bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) ~ [na: 1.7.0_60] unter java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) [na: 1.7.0_60] bei java.lang.Thread.run (Thread.java:745) [na: 1.7.0_60] Auslöser: org.apache.cassandra.io.compress.CorruptBlockException: (/data1/data/cassandra_uc_log/log_user-2fdda2a03a7f11e58156c78e55b68188/cassandra_uc_log-log_user-ka-7611-Data.12). at org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk (CompressedRandomAccessReader.java:112) ~ [apache-cassandra-2.1.2.jar: 2.1.2] at org.apache.cassandra.io.compress.CompressedRandomAccessReader. reBuffer (CompressedRandomAccessReader.java:88) ~ [apache-cassandra-2.1.2.jar: 2.1.2] ... 37 allgemeine Frames wurden weggelassen
Also lösche ich die sstable cassandra_uc_log-log_user-ka-7611-Data.db als repariere, aber es gibt eine neue Ausnahme:
Die Reparatursitzung f33a4b10-ffb7-11e5-8fe3-31b2e5b5b0b2 für den Bereich (-5651751204441903619, -5621122634670931727] ist mit dem Fehler java.io.IOException fehlgeschlagen: Fehler beim Erstellen des Snapshots.
Wie kann ich die stabile Datei cassandra_uc_log-log_user-ka-7611-Data.db reparieren oder neu erstellen?
Ich fürchte, Sie müssen den Knoten mit der gelöschten Datei neu starten. Beim nächsten Mal können Sie auch versuchen, das Nodetool-Scrub mit dem beschädigten sstable auszuführen.
Sie haben Ihre Cassandra-Version nicht erwähnt, aber vorausgesetzt, Sie verwenden inkrementelle Reparaturen mit Cassandra 2.1+, müssen Sie möglicherweise auch eine vollständige Reparatur durchführen, falls sich der sstable bereits im reparierten Zustand befindet.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen