我试图在我的Ubuntu 13.04上安装Cassandra 2.0,但当我试图启动它时,我得到了这个错误:
java.lang.UnsupportedOperationException: Commitlog segment is too old to open; upgrade to 1.2.5+ first
at org.apache.cassandra.db.commitlog.CommitLogDescriptor.fromFileName(CommitLogDescriptor.java:65)
at org.apache.cassandra.db.commitlog.CommitLogSegment$CommitLogSegmentFileComparator.compare(CommitLogSegment.java:391)
at org.apache.cassandra.db.commitlog.CommitLogSegment$CommitLogSegmentFileComparator.compare(CommitLogSegment.java:386)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
at java.util.TimSort.sort(TimSort.java:189)
at java.util.TimSort.sort(TimSort.java:173)
at java.util.Arrays.sort(Arrays.java:659)
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:124)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:300)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:443)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:486)有人能帮我吗?
发布于 2013-09-20 00:55:15
我将对@aurand所说的进行一点扩展,这里是如何将Cassandra从0.x或1.1.x升级到2.x。
首先升级到1.2.9 apt-get install cassandra=1.2.9。
然后运行nodetool upgradesstables (否则会发生一些意想不到的事情),使用nodetool compactionstats (或者更好的watch -n 2 nodetool compactionstats)遵循这个过程,根据你的数据可能需要天的。
最后,升级到最新版本的apt-get install cassandra并再次运行nodetool upgradesstables。那你就完事了。
注意:您可以使用nodetool scrub而不是nodetool upgradesstables,但似乎建议使用 。
发布于 2014-07-20 22:28:36
我在Ubuntu14.04上遇到了完全相同的问题,我能够通过完全删除/var/lib/cassandra来解决它,正如user2278196在他的原始问题的评论中所建议的那样。
请注意:我是在一个相当干净的系统上这样做的,所以我完全确定我不会丢失任何信息。
我不认为你可以在一台有实际数据的机器上做到这一点而不丢失它。注意!
https://stackoverflow.com/questions/18857301
复制相似问题