我尝试在我的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 upgradedesstables(否则会发生一些意想不到的事情),使用nodetool compactionstats执行此过程(或者甚至更好地观察-n 2 nodetool compactionstats),这可能需要数天时间,具体取决于您的数据.
最后升级到最新版本的apt-get install cassandra并再次运行nodetool upgradesstables.
然后你就完成了.
注意:您可以使用nodetool scrub而不是nodetool升级,但似乎建议使用use upgradesstables
instead.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。