我已经使用150+模式和大约20个TB数据运行了21个节点Cassandra集群,在没有停机的情况下,我需要将模式和数据从Cassandra转移到7个节点Scylla。
Scylla和Cassandra都支持相同的cqlsh版本,在分发数据和八卦方面几乎是一样的。
为了转移数据,我试图在现有的Cassandra集群中创建新的Scylla数据中心,并更新Keyspace拓扑,使Scylla也在复制的DC列表中,然后引导/重建集群中的Scylla节点。
为此,在节点中添加种子列表时,我会得到TCP连接失败的错误。
锡拉错误:-
scylla: shard 0 rpc 10.200.1.2:34236:服务器连接被删除:连接已关闭,scylla: shard 0 rpc - client 10.200.1.2:7000: fail : Connection。
卡桑德拉错误:-
MessagingService-传出- /10.200.2.2 - OutboundTcpConnection.java:411 -套接字到/10.200.2.2关闭握手- /10.200.2.2 OutboundTcpConnection.java:570 -不能与/10.200.2.2握手版本-/10.200.2.2 OutboundTcpConnection.java:561 -握手版本与/10.200.2.2
请帮助我,如果有人已经这样做了,或任何更好的想法转移数据而不停机,避免数据丢失在较低的风险。
发布于 2020-04-14 22:56:39
您不能在同一个集群上拥有一个具有C*和Scylla节点的异构集群。
创建一个单独的Scylla集群,创建模式,更改应用程序进行双重写入(对两个集群),然后将C*历史数据迁移到scylla。
有多种方法来迁移数据。这应该是有帮助的:https://youtu.be/CDOesdWDT9Y没有停机,也没有问题,也有选择。
发布于 2020-04-14 23:00:33
虽然Scylla在多个轴(SSTables、CQL/Driver等)上与Cassandra兼容,但Scylla确实需要对流言协议做一些修改,这使得无法加入Cassandra集群。目前还没有办法将“锡拉”加入卡桑德拉集群。
“锡拉”发表了几项建议的移民技术。
浏览迁移技术的Webinar需要注册: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
https://stackoverflow.com/questions/61206077
复制相似问题