Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra启动时频繁出现java.lang.AssertionError_Cassandra_Cassandra 3.0 - Fatal编程技术网

Cassandra启动时频繁出现java.lang.AssertionError

Cassandra启动时频繁出现java.lang.AssertionError,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,设置 我们以独立模式运行Cassandra 3.7,作为服务和根用户。这是我们的卡桑德拉评估阶段,我们似乎有一段时间没有任何问题。但大约在上周,我们开始间歇性地看到以下错误 ERROR [main] 2017-02-02 21:54:58,854 CassandraDaemon.java:731 - Exception encountered during startup java.lang.RuntimeException: java.util.concurrent.ExecutionExce

设置

我们以独立模式运行Cassandra 3.7,作为服务和根用户。这是我们的卡桑德拉评估阶段,我们似乎有一段时间没有任何问题。但大约在上周,我们开始间歇性地看到以下错误

ERROR [main] 2017-02-02 21:54:58,854 CassandraDaemon.java:731 - Exception encountered during startup
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError
        at org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:50) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:372) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.db.commitlog.CommitLogReplayer.blockForWrites(CommitLogReplayer.java:257) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:186) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:165) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:314) [apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:585) [apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:714) [apache-cassandra-3.7.jar:3.7]
Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_111]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_111]
        at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:365) ~[apache-cassandra-3.7.jar:3.7]
        ... 6 common frames omitted
Caused by: java.lang.AssertionError: null
        at org.apache.cassandra.cache.ChunkCache$CachingRebufferer.<init>(ChunkCache.java:202) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.cache.ChunkCache.wrap(ChunkCache.java:155) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.cache.ChunkCache.maybeWrap(ChunkCache.java:163) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.util.BufferedSegmentedFile.createRebufferer(BufferedSegmentedFile.java:42) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.util.BufferedSegmentedFile.<init>(BufferedSegmentedFile.java:27) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.util.BufferedSegmentedFile$Builder.complete(BufferedSegmentedFile.java:50) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.util.SegmentedFile$Builder.complete(SegmentedFile.java:181) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.util.SegmentedFile$Builder.buildIndex(SegmentedFile.java:207) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.sstable.format.big.BigTableWriter.openFinal(BigTableWriter.java:309) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.sstable.format.big.BigTableWriter.access$600(BigTableWriter.java:55) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.sstable.format.big.BigTableWriter$TransactionalProxy.doPrepare(BigTableWriter.java:348) ~[apache-cassandra-]
        at org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.prepareToCommit(Transactional.java:173) ~[apache-cassandr]
        at org.apache.cassandra.io.sstable.format.SSTableWriter.prepareToCommit(SSTableWriter.java:275) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.prepareToCommit(SimpleSSTableMultiWriter.java:101) ~[apache-cassandra-3.7.]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable(ColumnFamilyStore.java:1148) ~[apache-cassandra-3.7.jar:3.7]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1098) ~[apache-cassandra-3.7.jar:3.7]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_111]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_111]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_111]
ERROR[main]2017-02-02 21:54:58854 cassandrademon.java:731-启动过程中遇到异常
java.lang.RuntimeException:java.util.concurrent.ExecutionException:java.lang.AssertionError
在org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:50)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:372)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.db.commitlog.CommitLogReplayer.blockForWrites(CommitLogReplayer.java:257)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.db.commitlog.commitlog.recover(commitlog.java:186)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.db.commitlog.commitlog.recover(commitlog.java:165)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.service.cassandrademon.setup(cassandrademon.java:314)[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.service.cassandrademon.activate(cassandrademon.java:585)[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.service.cassandrademon.main(cassandrademon.java:714)[apache-cassandra-3.7.jar:3.7]
原因:java.util.concurrent.ExecutionException:java.lang.AssertionError
在java.util.concurrent.FutureTask.report(FutureTask.java:122)~[na:1.8.0_111]
在java.util.concurrent.FutureTask.get(FutureTask.java:192)~[na:1.8.0_111]
在org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:365)~[apache-cassandra-3.7.jar:3.7]
... 省略了6个公共框架
原因:java.lang.AssertionError:null
在org.apache.cassandra.cache.ChunkCache$CachingRebufferer.(ChunkCache.java:202)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.cache.ChunkCache.wrap(ChunkCache.java:155)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.cache.ChunkCache.maybeWrap(ChunkCache.java:163)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.util.BufferedSegmentedFile.createRebufferer(BufferedSegmentedFile.java:42)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.util.BufferedSegmentedFile.(BufferedSegmentedFile.java:27)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.util.BufferedSegmentedFile$Builder.complete(BufferedSegmentedFile.java:50)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.util.SegmentedFile$Builder.complete(SegmentedFile.java:181)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.util.SegmentedFile$Builder.buildIndex(SegmentedFile.java:207)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.sstable.format.big.BigTableWriter.openFinal(BigTableWriter.java:309)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.sstable.format.big.BigTableWriter.access$600(BigTableWriter.java:55)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.sstable.format.big.BigTableWriter$TransactionalProxy.doPrepare(BigTableWriter.java:348)~[apachecassandra-]
在org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.prepareToCommit(Transactional.java:173)~[ApacheCassandr]
在org.apache.cassandra.io.sstable.format.SSTableWriter.prepareToCommit(SSTableWriter.java:275)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.prepareToCommit(SimpleSSTableMultiWriter.java:101)~[apache-cassandra-3.7]
在org.apache.cassandra.db.ColumnFamilyStore$Flush.flushmetable(ColumnFamilyStore.java:1148)~[apache-cassandra-3.7.jar:3.7]
在org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1098)~[apache-cassandra-3.7.jar:3.7]
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)~[na:1.8.0_111]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)~[na:1.8.0_111]
在java.lang.Thread.run(Thread.java:745)~[na:1.8.0_111]
经过一番挖掘,我们发现了类似的bug,它们是在Cassandra2.x中提出并修复的。但这些解决方案似乎并不能解决我们的问题。我们遵循的一个粗略的解决方案是,我们删除数据目录,然后cassandra重新创建它并正确地找到它。然而,这并不是解决我们问题的灵丹妙药

问题: 1) 这个错误的原因是什么。我只能看到这与缓存有关,但我保存的\u cache\u目录是空的


2) 是否存在一些我们忽略的配置。是否有任何特定的缓存配置必须在cassandra中完成。yaml

无需删除数据目录,据我所知,其中一个提交日志已损坏,因此您只需删除一个特定的提交日志即可启动节点。让我有点担心的是,有多个cassandra版本在同一台机器上运行(如果我没有弄错的话),所以两个cassandra同时处理提交日志也可能会有问题。谢谢你的评论。我们现在已经将所有内容迁移到cassandra 3.7。这是唯一正在运行的版本。但是,我们如何处理损坏的提交日志。我试着用nodetool冲水。但这似乎并不能解决问题。正确的是,nodetool flush会将表移动到磁盘并处理提交日志。如果你要关机,我会选择nodetool排水管。。。是的,flush会将memtable移动到磁盘,但新的写入操作仍会出现在提交日志中。还要考虑跑步3.7。就我个人而言,我不会选择cassandra的never版本,因为datastax正在为他们的商业产品而运行。谢谢你