【问题标题】:Scylla datacenter and Cassandra datacenter in same cluster同一集群中的 Scylla 数据中心和 Cassandra 数据中心
【发布时间】:2020-07-27 02:03:21
【问题描述】:

我正在运行具有 150 多个架构和大约 20 TB 数据的 21 节点 Cassandra 集群。我需要在不停机的情况下将架构和数据从 Cassandra 转移到 7 节点 Scylla。

Scylla 和 Cassandra 都支持相同的 cqlsh 版本,并且在分发数据和八卦方面几乎相同。

为了转移数据,我正在尝试在现有 Cassandra 集群中创建新的 Scylla 数据中心并更新 Keyspace 拓扑以使 Scylla 也在复制的 DC 列表中,然后在集群中引导/重建 Scylla 节点。

为此,我在节点中添加种子列表时收到 TCP 连接失败的错误。

Scylla 错误:-

scylla:[shard 0] rpc - 客户端 10.200.1.2:34236:服务器连接断开:连接已关闭 scylla:[shard 0] rpc - 客户端 10.200.1.2:7000:连接失败:连接被拒绝。

Cassandra 错误:-

[MessagingService-Outgoing-/10.200.2.2-Gossip] OutboundTcpConnection.java:411 - 到 /10.200.2.2 的套接字已关闭 [HANDSHAKE-/10.200.2.2] OutboundTcpConnection.java:570 - 无法与 /10.200.2.2 握手版本 [HANDSHAKE-/10.200.2.2] OutboundTcpConnection.java:561 - 与 /10.200.2.2 的握手版本

如果有人已经这样做了,或者有更好的想法在不停机的情况下转移数据,请帮助我,而不会丢失数据以降低风险。

【问题讨论】:

    标签: cassandra nosql database-migration cassandra-3.0 scylla


    【解决方案1】:

    您不能在同一个集群上拥有具有 C* 和 Scylla 节点的异构集群。

    创建一个单独的 Scylla 集群,创建架构,更改应用程序以执行双重写入(对两个集群),然后将 C* 历史数据迁移到 Scylla。

    有多种方法可以迁移数据。这应该会有所帮助:https://youtu.be/CDOesdWDT9Y 没有停机时间,没问题,也有选择。

    【讨论】:

    • 这是迁移文档中提到的标准步骤,但这样做存在挑战。基本上当你有太多项目访问和数据库时,很难对所有项目进行双重写入,如果你在 Cassandra 中有更高的节点并且想在 Scylla 的减少节点上工作,则很难转移旧数据。
    • 这是可以理解的,但是迁移具有破坏性,您可能希望尝试维持一个只有基本客户端发出写入的时间窗口(并将它们设置为执行双重写入)。迁移完成后,您可以恢复正常操作。
    • 人们经常会使用像 Kafka 这样的工具来管理写入的多路复用。因此,您无需使用客户端代码来处理两个数据库之间的一致性问题。同意这不太理想,但正如 dyasny 所说,任何数据库迁移都是破坏性事件。幸运的是,它也很少见。不过,它应该比您需要将应用程序的 API 和驱动程序更改为数据库的其他迁移要容易得多。
    • @sachin 你查看了 scylla-migrator github 吗?此外,Greg 提供的选项也不错。只有在使用快照时才很难转移旧数据。但是,尽管拓扑不同,Spark、Kafka 甚至 sstableloader 都可以工作。
    • @ScyllaGreg, Moreno Garcia 是的,我查看了所有迁移文档和方法,但现在我正在寻找更可靠的解决方案,比如找到一个可以获取所有写入更新删除的地方Cassandra DB 的请求并在 Scylla DB 上触发了相同的命令,而不是在所有应用程序上启用双写。
    【解决方案2】:

    虽然 Scylla 在多个轴(SSTable、CQL/驱动程序等)上与 Cassandra 兼容,但 Scylla 确实需要对 gossip 协议进行一些更改,这使得无法加入 Cassandra 集群。没有已知的方法可以将 Scylla 加入 Cassandra 集群。

    Scylla 已发布了几种建议的迁移技术。

    描述这些技术的博客:https://www.scylladb.com/2019/04/02/spark-file-transfer-and-more-strategies-for-migrating-data-to-and-from-a-cassandra-or-scylla-cluster/

    介绍迁移技术的网络研讨会 [需要注册]:https://go.scylladb.com/wbn-spark-scylla-migration-strategies-registration.html

    文档:https://docs.scylladb.com/operating-scylla/procedures/cassandra_to_scylla_migration_process/

    问答社区 Slack:http://slack.scylladb.com

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 2016-03-24
      • 2015-03-25
      • 2013-06-11
      • 2017-01-01
      • 2018-07-15
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      相关资源
      最近更新 更多