将 Cassandra 1.2.9 升级到 2.0.x

水牛

我正在尝试将单节点 Cassandra 集群从 1.1.5 升级到 2.0.x。

我的生产服务器在 Linux 上运行。我将数据文件夹拉到我的 Windows 盒子中,保留system密钥空间,以及我感兴趣的一个特定的,并在启动 Cassandra 后丢弃其余的。

我升级并测试:

  • 1.1.5 -> 1.2.0
  • 1.2.0 -> 1.2.8
  • 1.2.8 -> 1.2.9

然:

  • nodetool upgradesstables
  • describe schema
  • select * from table limit 100

1.x 版本的一切看起来都不错。

在尝试升级到 2.0.7 时,我遇到了一个问题(我看到推荐的升级路径是 1.2.9 -> 2.0.7):

INFO 16:43:01,758 Opening C:\path\mykeyspace-mytable-ic-655 (97902117 bytes)
ERROR 16:43:12,443 Exception encountered during startup
java.lang.RuntimeException: Incompatible SSTable found.  Current version jb is unable to read file: C:\path\mykeyspace\mytable\mykeyspace-mytable.mytable_location_idx-he-647.  Please run upgradesstables.
        at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:409)
        at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:391)
        at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.init(AbstractSimplePerColumnSecondaryIndex.java:52)
        at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager.java:292)
        at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:277)
        at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:415)
        at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:386)
        at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:309)
        at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:266)
        at org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
        at org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:290)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:480)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:569)

在启动 1.2.9/bin/cassandra 之后,确实从 1.2.9/bin 运行了 upgradesstables。知道出了什么问题吗?

水牛

问题在于我只将生产集群部分迁移到本地环境。我复制了整个system密钥空间文件,并且只复制了data其中一个密钥空间的部分文件。

我通过重做一切解决了这个问题:

  • 在本地设置 1.1.5
  • 使用 cqlsh 连接到它,删除了我在本地没有的所有其他键空间和表
  • 迁移(不确定是哪个成功了,假设我都做了):1.1.5 -> 1.2.0 -> 1.2.8 -> 1.2.9 -> 2.0.0 -> 2.0.1 -> 2.0.7 .
  • 可能删除了 Cassandra 在启动时抱怨的任何不匹配的索引文件(不确定我在进行最后一次神奇的工作升级时是否遇到任何问题,但这让我在以前的尝试中推进了版本)。我的猜测是 Cassandra 看了所有这些,但upgradesstables偶尔会留下一些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Tensorflow 1.x代码升级到Tensorflow 2.x代码

来自分类Dev

将Jersey客户端1.x升级到2.x时UriBuilder上的AbstractMethodError

来自分类Dev

警告在将Tensorflow 1代码升级到Tensorflow 2代码期间

来自分类Dev

将Eclipse Kepler SR1升级到SR2时出错?

来自分类Dev

将android studio 1升级到2后出现错误,无法启动

来自分类Dev

如何将 git 1 存储库升级到 git 2 存储库?

来自分类Dev

将 angular 1 升级到 2,组件模型未更新

来自分类Dev

将 angular 从 2.x 升级到 4.x 后,类型“People”上不存在属性“emit”

来自分类Dev

将解析服务器 2.x 升级到 3.x 与旧代码库兼容

来自分类Dev

将 RAM 从 20GB(1x 4GB、1x 16GB)升级到 32GB(2x 16GB)

来自分类Dev

将 Angular 2 升级到 Angular 4 失败

来自分类Dev

Angular 2升级到RC 1

来自分类Dev

将Elasticsearch 2.x升级到ElasticSearch 5.0时出现一些错误原因

来自分类Dev

将 Neo4j 2.3 升级到 3.4 - 无法访问 jarfile 2.x-config-migrator.jar

来自分类Dev

将Amazon EC2实例从t1.micro升级到中等,实例存储保持不变

来自分类Dev

Android SQLiteAssetHelper无法将只读数据库从版本1升级到2:

来自分类Dev

将Rails从5.0.0.rc1升级到5.0.0.rc2时出错

来自分类Dev

SQLITE无法将只读数据库从版本1升级到版本2

来自分类Dev

如何在不改变合约版本的情况下将 stateV1 升级到 V2?

来自分类Dev

如果我将笔记本电脑中的2X2 GB RAM升级到2X4 GB,会发生什么情况?

来自分类Dev

将 kentico 从 9 升级到 10

来自分类Dev

将我的项目从ruby 1.8.7升级到2,将Rails 3.2.3升级到4

来自分类Dev

将 RxPy 从 1.x 升级到 3.x 后订阅不起作用

来自分类Dev

面向TypeScript','预期将Angular2-rc1升级到Angular2-rc2。(TS1005)

来自分类Dev

升级到Debian 9可以让我在Apache上使用HTTP / 2吗?

来自分类Dev

如何将Yii 1.x升级到Yii 2.0

来自分类Dev

将OAuth2 / OpenID2升级到OpenID Connect

来自分类Dev

如何在不安装Beta版本的情况下将GRUB v1升级到GRUB v2?

来自分类Dev

从 Angular 2 升级到 Angular 7,无法绑定 [x],因为它不是 [y] 的属性

Related 相关文章

  1. 1

    将Tensorflow 1.x代码升级到Tensorflow 2.x代码

  2. 2

    将Jersey客户端1.x升级到2.x时UriBuilder上的AbstractMethodError

  3. 3

    警告在将Tensorflow 1代码升级到Tensorflow 2代码期间

  4. 4

    将Eclipse Kepler SR1升级到SR2时出错?

  5. 5

    将android studio 1升级到2后出现错误,无法启动

  6. 6

    如何将 git 1 存储库升级到 git 2 存储库?

  7. 7

    将 angular 1 升级到 2,组件模型未更新

  8. 8

    将 angular 从 2.x 升级到 4.x 后,类型“People”上不存在属性“emit”

  9. 9

    将解析服务器 2.x 升级到 3.x 与旧代码库兼容

  10. 10

    将 RAM 从 20GB(1x 4GB、1x 16GB)升级到 32GB(2x 16GB)

  11. 11

    将 Angular 2 升级到 Angular 4 失败

  12. 12

    Angular 2升级到RC 1

  13. 13

    将Elasticsearch 2.x升级到ElasticSearch 5.0时出现一些错误原因

  14. 14

    将 Neo4j 2.3 升级到 3.4 - 无法访问 jarfile 2.x-config-migrator.jar

  15. 15

    将Amazon EC2实例从t1.micro升级到中等,实例存储保持不变

  16. 16

    Android SQLiteAssetHelper无法将只读数据库从版本1升级到2:

  17. 17

    将Rails从5.0.0.rc1升级到5.0.0.rc2时出错

  18. 18

    SQLITE无法将只读数据库从版本1升级到版本2

  19. 19

    如何在不改变合约版本的情况下将 stateV1 升级到 V2?

  20. 20

    如果我将笔记本电脑中的2X2 GB RAM升级到2X4 GB,会发生什么情况?

  21. 21

    将 kentico 从 9 升级到 10

  22. 22

    将我的项目从ruby 1.8.7升级到2,将Rails 3.2.3升级到4

  23. 23

    将 RxPy 从 1.x 升级到 3.x 后订阅不起作用

  24. 24

    面向TypeScript','预期将Angular2-rc1升级到Angular2-rc2。(TS1005)

  25. 25

    升级到Debian 9可以让我在Apache上使用HTTP / 2吗?

  26. 26

    如何将Yii 1.x升级到Yii 2.0

  27. 27

    将OAuth2 / OpenID2升级到OpenID Connect

  28. 28

    如何在不安装Beta版本的情况下将GRUB v1升级到GRUB v2?

  29. 29

    从 Angular 2 升级到 Angular 7,无法绑定 [x],因为它不是 [y] 的属性

热门标签

归档