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
无法在Ubuntu 13.04上启动Cassandra 2.0;升级至1.2.5+;“第一”;_Ubuntu_Cassandra - Fatal编程技术网

无法在Ubuntu 13.04上启动Cassandra 2.0;升级至1.2.5+;“第一”;

无法在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

我试图在我的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)

有人能帮我吗?

我会详细介绍一下@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目录。准备就绪。重要提示:这假设系统中没有数据!