sachin
sachin

Reputation: 379

Scylla datacenter and Cassandra datacenter in same cluster

I have running 21 node Cassandra cluster with 150+ schema and about 20 TB data.I need to shift the schema and data from Cassandra to 7 node Scylla in no downtime scenario.

Both Scylla and Cassandra support the same cqlsh version and almost same in distributing the data and gossiping.

To shift the data I am trying to create new Scylla datacenter in existing Cassandra cluster and update the Keyspace topology to have Scylla also in the DC list of replication then Bootstrap/Rebuild the Scylla node in the cluster.

To do this I am getting error of TCP connection failure when adding seed list in node.

Scylla Error:-

scylla: [shard 0] rpc - client 10.200.1.2:34236: server connection dropped: connection is closed scylla: [shard 0] rpc - client 10.200.1.2:7000: fail to connect: Connection refused.

Cassandra Error:-

[MessagingService-Outgoing-/10.200.2.2-Gossip] OutboundTcpConnection.java:411 - Socket to /10.200.2.2 closed [HANDSHAKE-/10.200.2.2] OutboundTcpConnection.java:570 - Cannot handshake version with /10.200.2.2 [HANDSHAKE-/10.200.2.2] OutboundTcpConnection.java:561 - Handshaking version with /10.200.2.2

Please help me if anyone has done this already or any better idea of shifting data without downtime, without data loss in less risk.

Upvotes: 5

Views: 890

Answers (2)

Greg
Greg

Reputation: 750

While Scylla is compatible with Cassandra across several axes (SSTables, CQL/Drivers, etc.), Scylla did need to make some changes to the gossip protocol which make it impossible to join a Cassandra cluster. There is no known way to join Scylla to a Cassandra cluster.

Scylla has published several suggested techniques for migration.

Blog describing the techniques: https://www.scylladb.com/2019/04/02/spark-file-transfer-and-more-strategies-for-migrating-data-to-and-from-a-cassandra-or-scylla-cluster/

Webinar walking through the migration techniques [requires registration]: https://go.scylladb.com/wbn-spark-scylla-migration-strategies-registration.html

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

Community Slack for Q&A: http://slack.scylladb.com

Upvotes: 10

Moreno Garcia
Moreno Garcia

Reputation: 540

You can not have an heterogeneous cluster with C* and Scylla nodes on the same cluster.

Create a separate scylla cluster, create the schema, change the app to do double writes (to both clusters) and then migrate the C* historical data to Scylla.

There are multiple ways to migrate the data. This should help: https://youtu.be/CDOesdWDT9Y No downtime, no problem there are options for that too.

Upvotes: 11

Related Questions