Cassandra Installation

8
ERROR [MemtableFlushWriter:1] 2019-11-05 19:23:08,691 LogReplicaSet.java:94 - Failed to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377/C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377\md_txn_flush_99189c20-ffd3-11e9-b69e-0752c2cde782.log
org.apache.cassandra.io.FSReadError: java.io.IOException: Invalid folder descriptor trying to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377
        at org.apache.cassandra.db.lifecycle.LogReplica.create(LogReplica.java:58) ~[apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogReplicaSet.maybeCreateReplica(LogReplicaSet.java:86) ~[apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogFile.makeRecord(LogFile.java:311) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogFile.add(LogFile.java:283) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogTransaction.trackNew(LogTransaction.java:139) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LifecycleTransaction.trackNew(LifecycleTransaction.java:528) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.big.BigTableWriter.<init>(BigTableWriter.java:81) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.big.BigFormat$WriterFactory.open(BigFormat.java:92) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.SSTableWriter.create(SSTableWriter.java:102) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.create(SimpleSSTableMultiWriter.java:119) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.createSSTableMultiWriter(AbstractCompactionStrategy.java:588) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.compaction.CompactionStrategyManager.createSSTableMultiWriter(CompactionStrategyManager.java:1027) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore.createSSTableMultiWriter(ColumnFamilyStore.java:532) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.createFlushWriter(Memtable.java:504) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:443) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:420) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable.createFlushRunnables(Memtable.java:307) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable.flushRunnables(Memtable.java:298) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable(ColumnFamilyStore.java:1153) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1118) [apache-cassandra-3.11.5.jar:3.11.5]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_191]
        at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:84) [apache-cassandra-3.11.5.jar:3.11.5]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_191]
Caused by: java.io.IOException: Invalid folder descriptor trying to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377
        ... 24 common frames omitted
user3214522
quelle
2
Willkommen bei Stack Overflow! Zukünftige Referenz - Das Posten eines unformatierten Fehlerprotokolls ist eine schreckliche Möglichkeit, jemanden dazu zu bringen, Ihnen zu helfen. Stellen Sie zunächst eine aktuelle Frage und veröffentlichen Sie dann nur die relevanten Abschnitte des Protokolls.
Aaron
Noch keine Lösung. Ich habe auch genau das gleiche Problem. Allerdings funktioniert 3.11.4 unter Windows 10 für mich mit allem, was gleich ist (Java, Python, Betriebssystem, Dateisystem)
kc sham

Antworten:

7

Ein Rollback auf Version 3.11.4 hat dieses Problem behoben. Überprüfen Sie, ob Sie die Umgebungsvariable von CASSANDRA_HOME so bearbeitet haben, dass sie auf Version 3.11.4 verweist.

MNSVKChaitanya Sarma
quelle
Vielen Dank, ich musste dasselbe tun - nicht nur auf 3.11.4 zurücksetzen, sondern auch daran denken, CASSANDRA_HOME wieder auf 3.11.4 zurückzusetzen.
Tomasz Kubiak
Ich habe Cassandra unter Linux ausgeführt, aber CQLSSTableWriter verwendet, um sstables auf meinem Windows-Entwicklungscomputer zu erstellen. Ein Downgrade auf 3.11.4 unter Windows hat den Job erledigt.
Tinus Tate
3

Versuchen Sie, Ihre Version auf 3.11.4 zurückzusetzen. Wie in CASSANDRA-15426 angegeben , sollte dies helfen, dieses Problem zu umgehen , bis ein Fix veröffentlicht wird.

Aaron
quelle
Ein Rollback auf 3.11.4 hilft in meinem Fall nicht.
Mdivk
1

Dies war möglicherweise ein Berechtigungsproblem unter Windows

1) Öffnen Sie die Windows Power Shell.
2) Führen Sie den folgenden Befehl Powershell aus. Set-ExecutionPolicy Unrestricted.
3) Öffnen Sie die Windows-Eingabeaufforderung und führen Sie cassandra.bat aus

Martin K.
quelle
Ich habe das oben genannte mit der Version Apache-Cassandra-3.11.4 getestet und funktioniert gut für mich
Martin K
Dies funktionierte auch für mich mit Apache-Cassandra-3.11.4
Bhdr
0

Aufgrund Ihres Einfügens, so schwer das zu lesen war, glaube ich, dass Ihr Problem darin besteht, dass entweder Sie ein Berechtigungsproblem haben oder kein Verzeichnis / Ordner existiert, in das Cassandra schreiben möchte:

Failed to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377/C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377\md_txn_flush_99189c20-ffd3-11e9-b69e-0752c2cde782.log org.apache.cassandra.io.FSReadError: java.io.IOException: Invalid folder descriptor trying to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377 at

Sie müssen also Folgendes überprüfen: C: \ apache-cassandra-3.11.5 \ data \ data \ system \ local-7ad54392bcdd35a684174e047860b377

Überprüfen Sie, ob dieses Verzeichnis vorhanden ist und ob es beschreibbar ist (nicht erforderlich, um Administrator oder etwas in dieser Art zu sein). Ich bin kein großer "Windows" -Typ, daher wird die Diagnose des Problems ein wenig auf Ihre Schultern fallen.

Ich hoffe, das hilft, die Dinge in Gang zu bringen.

-Jim

Jim Wartnick
quelle
0

Hier ist der Link zu Cassandra Jira-Problemen in Bezug auf diese https://issues.apache.org/jira/browse/CASSANDRA-15426

Geschicklichkeit
quelle
Das sind gute Informationen, aber können Sie erklären, wie dies die Frage beantwortet?
Aaron
Das Problem wurde hier bestätigt und wenn ein Fix verfügbar ist, kann er nachverfolgt werden
geschickt
-1

Hier sind einige Dinge, die ich getan habe, um dieses von OP gemeldete Problem zu beheben:

  1. Die Cassandra-Version wurde auf 3.11.4 herabgestuft (ich verwende Python 2.7 und ApacheThrift 0.13).
  2. Ändern Sie CASSANDRA_HOME in den aktualisierten Ordnernamen
  3. Öffnen Sie die cmd-Zeile als admin und starten Sie die Datei cassandra.bat
Anup
quelle