Cassandra:初始化错误 system.sstable activity
Cassandra: error in Initializing system.sstable activity
我在 cassandra 启动时遇到了一些问题。异常详情如下:-
INFO 06:49:10 Initializing system.sstable_activity
ERROR 06:49:10 Exiting due to error while processing commit log during initialization.
java.lang.InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code
at org.apache.cassandra.db.commitlog.CommitLogDescriptor.writeHeader(CommitLogDescriptor.java:73) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegment.<init>(CommitLogSegment.java:168) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegment.freshSegment(CommitLogSegment.java:119) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegmentManager.runMayThrow(CommitLogSegmentManager.java:119) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) [apache-cassandra-2.1.9.jar:2.1.9]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_60]
这可能是什么原因?
不知道这是什么原因,但重启我的系统解决了问题。
我通过删除导致问题的提交日志解决了这个问题。
我在 /casandra/data/commitlog 中找到了登录。
我删除后,重新运行cassandra,一切正常。我希望这对某人有所帮助!
这就是我解决提交日志问题的方法。只有在您不关心保留提交日志的状态时才应该这样做。
尝试使用
重启cassandra
sudo systemctl restart cassandra
然后我检查
systemctl status cassandra
看到状态是 'exited' 所以有问题。使用
检查 cassandra 的日志
sudo less /var/log/cassandra/system.log
and see org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: Could not read commit log descriptor in file /var/lib/cassandra/commitlog/CommitLog-6-1498210233635.log
因为我不关心保留 Cassandra 的状态,所以我删除了所有提交日志,它现在可以正常启动
sudo rm /var/lib/cassandra/commitlog/CommitLog*
sudo systemctl restart cassandra
systemctl status cassandra
(现在应该确认一下运行)
我在 cassandra 启动时遇到了一些问题。异常详情如下:-
INFO 06:49:10 Initializing system.sstable_activity
ERROR 06:49:10 Exiting due to error while processing commit log during initialization.
java.lang.InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code
at org.apache.cassandra.db.commitlog.CommitLogDescriptor.writeHeader(CommitLogDescriptor.java:73) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegment.<init>(CommitLogSegment.java:168) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegment.freshSegment(CommitLogSegment.java:119) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.db.commitlog.CommitLogSegmentManager.runMayThrow(CommitLogSegmentManager.java:119) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) [apache-cassandra-2.1.9.jar:2.1.9]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_60]
这可能是什么原因?
不知道这是什么原因,但重启我的系统解决了问题。
我通过删除导致问题的提交日志解决了这个问题。
我在 /casandra/data/commitlog 中找到了登录。
我删除后,重新运行cassandra,一切正常。我希望这对某人有所帮助!
这就是我解决提交日志问题的方法。只有在您不关心保留提交日志的状态时才应该这样做。
尝试使用
重启cassandrasudo systemctl restart cassandra
然后我检查
systemctl status cassandra
看到状态是 'exited' 所以有问题。使用
检查 cassandra 的日志sudo less /var/log/cassandra/system.log
and see org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: Could not read commit log descriptor in file /var/lib/cassandra/commitlog/CommitLog-6-1498210233635.log
因为我不关心保留 Cassandra 的状态,所以我删除了所有提交日志,它现在可以正常启动
sudo rm /var/lib/cassandra/commitlog/CommitLog*
sudo systemctl restart cassandra
systemctl status cassandra
(现在应该确认一下运行)