Java 启动期间遇到cassandra-4.0-beta4异常请求的许可证(0)必须为正 OS:Ubuntu20.04 JDK:JDK11 Cassandra版本:apache-Cassandra-4.0-beta4
错误消息:Java 启动期间遇到cassandra-4.0-beta4异常请求的许可证(0)必须为正 OS:Ubuntu20.04 JDK:JDK11 Cassandra版本:apache-Cassandra-4.0-beta4,java,cassandra,cassandra-4.0,Java,Cassandra,Cassandra 4.0,错误消息: ERROR [main] 2021-03-25 14:16:15,561 CassandraDaemon.java:822 - Exception encountered during startup org.apache.cassandra.exceptions.TruncateException: Error during truncate: java.lang.IllegalArgumentException: Requested permits (0) must be pos
ERROR [main] 2021-03-25 14:16:15,561 CassandraDaemon.java:822 - Exception encountered during startup
org.apache.cassandra.exceptions.TruncateException: Error during truncate: java.lang.IllegalArgumentException: Requested permits (0) must be positive
at org.apache.cassandra.cql3.statements.TruncateStatement.executeLocally(TruncateStatement.java:96)
at org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:323)
at org.apache.cassandra.db.SystemKeyspace.clearAllEstimates(SystemKeyspace.java:1337)
at org.apache.cassandra.service.StorageService.cleanupSizeEstimates(StorageService.java:3908)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:353)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:676)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:800)
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Requested permits (0) must be positive
at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2329)
at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2276)
at org.apache.cassandra.db.ColumnFamilyStore.truncateBlocking(ColumnFamilyStore.java:2256)
at org.apache.cassandra.cql3.statements.TruncateStatement.executeLocally(TruncateStatement.java:92)
... 6 common frames omitted
Caused by: java.lang.IllegalArgumentException: Requested permits (0) must be positive
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:189)
at com.google.common.util.concurrent.RateLimiter.checkPermits(RateLimiter.java:430)
at com.google.common.util.concurrent.RateLimiter.reserve(RateLimiter.java:285)
at com.google.common.util.concurrent.RateLimiter.acquire(RateLimiter.java:273)
at org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilyStore.java:1801)
at org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1981)
at org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1957)
at org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1945)
at org.apache.cassandra.db.ColumnFamilyStore$4.run(ColumnFamilyStore.java:2242)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2325)
... 9 common frames omitted
这是故障节点的重新启动吗?看起来有东西试图重播
TRUNCATE
命令,但没有发送所需的东西(根据)
为了解决这个问题,我将从磁盘中删除system\u模式
keyspace并重新启动。它应该从另一个节点重新传输模式
如果这不起作用,您可能最终不得不擦除数据并重建节点。如果仍然不起作用,您可能必须将其删除/重新加入集群
编辑:
根据Erick的回答,问题似乎在于系统
键空间中的大小估计值
和表的快照目录。去掉这些,你们应该会很好。问题已经开始,所以我在这里为子孙后代发帖
根据堆栈跟踪,尝试访问system.size\u估计值
和system.table\u估计值
的快照子目录时似乎失败了
虽然我没有足够的信息来证实这一点,但目录可能由于断电(首先是重新启动节点的原因)而损坏
在任何情况下,解决方法都是手动删除data/system/*
中size\u-estimaties/
和table\u-estimaties/
的快照目录。这将使卡桑德拉成功启动。干杯
附言。贾博超 在ASF Slack上确认解决方案允许他们在节点上启动C*。谢谢Erick!我一定是错过了邮件列表上的这个,没问题。事实上,它是松弛的