2017-06-20 103 views
-3

我遇到了启动Cassandra节点的问题。这里是错误:Cassandra节点未启动;提交日志文件的问题?

org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException: Could not read commit log descriptor in file C:\apache-cassandra-3_extracted\apache-cassandra-3.10\data\commitlog\CommitLog-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] 

有谁知道我可以如何开始?

回答

2

这是在开始时读取提交日志的问题。您应该检查该文件是否为空或者权限错误。

如果群集上的单个节点不止一个 - 而且您的复制因子高于1,则只需删除此单个commitlog文件,然后尝试再次启动cassandra并运行修复。

这应该也适用于单节点或复制因子之一 - 但数据丢失为此日志文件中的upserts。