Cassandra 3.11 抛出错误 "Exiting due to error while processing commit log during initialization"

标签 cassandra cassandra-3.0

我在 mac 上使用 brew 安装了 Cassandra,它运行了几天。但是现在它开始抛出错误而不更改 yaml 文件中的任何内容。

Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})

所以我尝试使用 brew 将 Cassandra 更新到 3.11。现在,在启动 Cassandra 时,我收到此错误。
ERROR [main] 2017-09-20 12:52:02,732 JVMStabilityInspector.java:82 - Exiting due to error while processing commit log during initialization.
org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException: Encountered bad header at position 157007 of commit log /usr/local/var/lib/cassandra/commitlog/CommitLog-6-1505888222471.log, with bad position but valid CRC
    at org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator.computeNext(CommitLogSegmentReader.java:113) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator.computeNext(CommitLogSegmentReader.java:84) [apache-cassandra-3.11.0.jar:3.11.0]
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) [guava-18.0.jar:na]
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) [guava-18.0.jar:na]
    at org.apache.cassandra.db.commitlog.CommitLogReader.readCommitLogSegment(CommitLogReader.java:190) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.db.commitlog.CommitLogReader.readAllFiles(CommitLogReader.java:84) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.db.commitlog.CommitLogReplayer.replayFiles(CommitLogReplayer.java:140) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.db.commitlog.CommitLog.recoverFiles(CommitLog.java:177) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.db.commitlog.CommitLog.recoverSegmentsOnDisk(CommitLog.java:158) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:325) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:600) [apache-cassandra-3.11.0.jar:3.11.0]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) [apache-cassandra-3.11.0.jar:3.11.0]

从这个链接 Cassandra: Exiting due to error while processing commit log during initialization
我得到了一些关于节点工具修复的信息。但即使是节点工具修复也不起作用。
objc[15089]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java (0x10934b4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10abba4e0). One of the two will be used. Which one is undefined.
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.

最佳答案

commit log /usr/local/var/lib/cassandra/commitlog/CommitLog-6-1505888222471.log

听起来您的提交日志文件之一已损坏。删除该文件,然后重新启动。

“但即使是节点工具修复也不起作用。”

我不会担心的。如果您使用的是单节点集群(例如:您自己的 Mac),则修复没有任何其他节点可以从中传输数据,因此无论如何它都不会工作。

关于Cassandra 3.11 抛出错误 "Exiting due to error while processing commit log during initialization",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46330902/

相关文章:

Cassandra 旧提示文件存在于提示文件夹中

java - cassandra3.0中触发器的实现

transactions - 在 Cassandra 中混合轻量级事务和正常写入

cassandra - Apache Cassandra CQL 查询解释计划

cassandra - 从 Cassandra 中的 map 中选择范围

c++ - 我可以像 nodetool 那样强制从 C/C++ 驱动程序刷新 Cassandra 表吗?

datetime - 在Python中将日期转换为datetime.datetime?或相反亦然?

java - 用于时间序列数据的 Cassandra Map Reduce

database-design - 设计 Cassandra 数据模型的最佳实践是什么?

Cassandra 节点随机宕机