微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在Ubuntu 13.04上启动Cassandra 2.0“先升级到1.2.5”

我尝试在我的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 举报,一经查实,本站将立刻删除。

相关推荐