无法在Ubuntu 13.04上启动Cassandra 2.0;升级至1.2.5+;“第一”;
我试图在我的Ubuntu 13.04上安装Cassandra 2.0,但在尝试启动它时遇到了以下错误:无法在Ubuntu 13.04上启动Cassandra 2.0;升级至1.2.5+;“第一”;,ubuntu,cassandra,Ubuntu,Cassandra,我试图在我的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.j
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)
有人能帮我吗?我会详细介绍一下@aurand所说的内容,这里是如何将Cassandra从0.x或1.1.x升级到2.x 首先升级到1.2.9
apt get install cassandra=1.2.9
然后运行nodetool upgradessstables
(您必须这样做,否则会发生一些意外情况),使用nodetool compactionstats
(或者更好的watch-n2 nodetool compactionstats
)遵循此过程,这可能需要天的时间,具体取决于您的数据
最后升级到最新版本apt get install cassandra
并再次运行nodetool upgradesstables
。
那你就完了
注意:您可以使用
nodetool scrub
而不是nodetool upgradessstables
,但似乎建议您使用我在Ubuntu 14.04上遇到了完全相同的问题,我能够通过完全删除/var/lib/cassandra来解决它,正如用户2278196在其原始问题的评论中所建议的那样
请注意:我是在一个相当干净的系统上做这件事的,所以我完全相信我不会泄露任何信息
我不认为你可以在一台有实际数据的机器上这样做而不丢失数据。小心 您是否从旧版本的Cassandra升级?如果是这样,您应该首先升级到1.2.9。然后升级到2.0.0。有些数据文件不能向前兼容。经过一番挖掘,我找到了一个解决方案。正如Aurand问我的,是的,我是从另一个版本升级的,这是我问题的根本原因。我没有尝试先升级到1.2.9,因为它是我的开发机器。我刚刚删除了Cassandra并删除了我的/var/lib/Cassandra。在这之后,我重新安装,一切都很好。我相信奥兰德让我做的事情也应该起作用。谢谢你的帮助@Aurand。也许你可以接受他的解决方案。我遇到了这个问题。FGRibreau的解决方案没有帮助(它运行了,但我仍然遇到了错误)。所以我只是删除并重新创建了与cassandra相关的/var目录。准备就绪。重要提示:这假设系统中没有数据!