我已经运行了21节点的cassandra集群,拥有150+个模式和大约20TB的数据。我需要在不停机的情况下将模式和数据从cassandra转移到7节点的scylla。
“锡拉”和“Cassandra”都支持相同的cqlsh版本,在传播数据和八卦方面几乎相同。
为了转移数据,我正在尝试在现有的cassandra集群中创建新的scylla数据中心,并更新keyspace拓扑,使scylla也位于复制的dc列表中,然后引导/重建集群中的scylla节点。
为此,我得到错误的tcp连接失败时,添加种子列表节点。
锡拉error:-
锡拉:[shard 0]rpc-客户端10.200.1.2:34236:服务器连接已断开:连接已关闭锡拉:[shard 0]rpc-客户端10.200.1.2:7000:连接失败:连接被拒绝。
Cassandraerror:-
[messagingservice传出-/10.200.2.2-gossip]OutboundTCP连接。java:411 - 插座到/10.200.2.2已关闭[握手-/10.200.2.2]OutboundTCP连接。java:570 - 无法使用/10.200.2.2[handshake-/10.200.2.2]outboundtcp连接握手版本。java:561 - 握手版本/10.200.2.2
请帮助我,如果有人已经这样做了或任何更好的想法转移数据没有停机时间,没有数据丢失的风险较小。
2条答案
按热度按时间daupos2t1#
虽然scylla与cassandra跨多个轴兼容(sstables、cql/驱动程序等),但scylla确实需要对八卦协议进行一些更改,从而无法加入cassandra集群。目前还没有已知的方法将“锡拉”与Cassandra星系团连接起来。
“锡拉”已经发表了几种建议的迁徙技术。
描述技术的博客: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/
社区问答:http://slack.scylladb.com
flseospp2#
不能在同一个集群上有一个异类集群,其中c和scylla节点位于同一集群上。
创建一个单独的“锡拉”集群,创建模式,将应用程序更改为双写(对两个集群),然后将c历史数据迁移到“锡拉”。
有多种方法可以迁移数据。这将有助于:https://youtu.be/cdoesdwdt9y 没有停机时间,没问题,也有选择。