我在启动Cassandra节点时遇到问题。 这是错误:
org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException: Could not read commit log descriptor in file C:apache-cassandra-3_extractedapache-cassandra-3.10datacommitlogCommitLog-6-1497856002934.log
at org.apache.cassandra.db.commitlog.CommitLogReader.readCommitLogSegment(CommitLogReader.java:153) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.db.commitlog.CommitLogReader.readAllFiles(CommitLogReader.java:84) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.db.commitlog.CommitLogReplayer.replayFiles(CommitLogReplayer.java:140) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.db.commitlog.CommitLog.recoverFiles(CommitLog.java:177) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.db.commitlog.CommitLog.recoverSegmentsOnDisk(CommitLog.java:158) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:326) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) [apache-cassandra-3.10.jar:3.10]
有谁知道我该如何开始?
这是在启动时读取提交日志的问题。您应该检查该文件是否可能为空或具有错误的权限。
如果您的集群上有多个节点 - 并且您的复制因子高于 1,只需删除此单个提交日志文件并尝试再次启动 cassandra 并运行修复即可。
这也适用于单节点或复制因子 1 - 但此日志文件中的更新插入会丢失数据。