Wie kann ich einen sstable neu erstellen, ohne den Cassandra-Knoten neu zu starten?

Quemilk

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?

Stefan Podkowinski

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.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie kann ich zur Laufzeit einen gleichnamigen Zünddienst bereitstellen, ohne den Serverknoten neu zu starten?

Wie kann ich einen unaufhaltsamen Zombie-Job auf Jenkins stoppen, ohne den Server neu zu starten?

Wie ändere ich Javascript, ohne den Server neu zu starten?

Wie lade ich Knoten in Node-RED neu, ohne neu zu starten?

Wie kann ich den Docker-Container stoppen / neu starten, ohne die Änderungen zu verlieren?

Wie kann ich den Inhalt des Servers aktualisieren, ohne ihn neu zu starten? (node.js)

Wie kann ich --general-log aktivieren, ohne den MYSQL-Server neu zu starten?

asyncio - Wie kann ich den Server stoppen (und neu starten), ohne die Ereignisschleife zu stoppen?

Wie kann ich den Fabric Composer neu starten, ohne die vorhandenen Daten zu verlieren?

Wie kann ich die Stoppwortliste aktualisieren, ohne den Postgres-Server neu zu starten?

Wie kann ich einen Singleton neu starten?

Wie lade ich eine App in Genymotion und Android Studio neu, ohne den Emulator neu zu starten?

Wie starte ich den SHA256MigrationJob neu, ohne Artifactory neu zu starten?

Wie kann ich mein ViewModel in WPF neu laden, ohne die Anwendung neu zu starten?

Wie kann ich Serilog neu konfigurieren, ohne die Anwendung neu zu starten?

Apache Flink: Wie kann ich ein aktualisiertes JAR neu laden, ohne meinen Job neu zu starten?

Kubernetes: Wie aktualisiere ich die Ressourcenlimits / Anforderungen für einen Pod, ohne den Pod neu zu starten?

Wie kann ich neue Modelle hinzufügen und Migrationen durchführen, ohne den Server manuell neu zu starten?

Docker-Compose - Kann ich Labels aktualisieren, ohne einen Container neu zu starten?

Kann ich die Umgebungsvariablen des Containers ändern, ohne den Pod mithilfe von Kubernetes neu zu starten?

Wie kann ein sofortiger Übergang durchgeführt werden, ohne den Status neu zu starten?

Wie aktualisiere ich den API-Endpunkt, ohne mein Express.js-Projekt neu zu starten?

Node.js: Wie ändere ich die Protokollebene, ohne den Server neu zu starten?

Wie teste ich eine Selenium-Automatisierung, ohne den Browser jedes Mal neu zu starten?

Wie wende ich Änderungen an der Windows-Taskleiste an, ohne den Explorer in C# neu zu starten?

Wie kann ich die .spacemacs-Datei nach der Bearbeitung neu laden, ohne emacs neu zu starten?

Wie kann ich Änderungen an Thymeleaf-Vorlagen in Broadleaf sehen, ohne meinen Server neu zu starten?

Wie kann ich eine Ressource in Android Studio aktualisieren, ohne sie neu zu starten?

Wie kann ich Flaschenvorlagen aktualisieren, ohne die uwsgi-Instanz neu zu starten?