Skip to Content

How to migrate Datastax Cassandra to Open Source Apache Cassandra?

We need to add open source Apache node to dse cluster first. After the data sync is done, we can remove dse nodes. Here are the steps about how to add Apache nodes to dse cluster.

Version matches

please make sure you Install same version OSS Cassandra with your DSE

SELECT release_version FROM system.local;

release_version
—————–
2.1.17.1428

(1 rows)

Restructure the following directory

This is to clean all install related keyspace/users is deleted

rm -rf system system_schema system_traces system_distributed system_auth
mkdir system system_schema system_traces system_distributed system_auth
chown -R cassandra:cassandra /data_directory/

Edit cassandra.yaml file

data_file_directories ==> update the datafile location  ex ==> /data_directory/data
commitlog_directory ==> ex ==> /commit_directory/commitlog
auto_bootstrap ==> set to true ==> not avaible in 2.1 cassandra
cluster_name ==> match the clustername from dse source
listen_address/broadcast_address should the hostIP address
endpoint_snitch ==> GossipingPropertyFileSnitch
num_tokens ==> 256
seeds ==>  give the IP address on orther node on the same datacenter
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

Edit cassandra-rackdc.properties

Update the DC name to make sure its matches to which DC you are adding the cluster

dc=dc_name

rack=RAC1

Alert DSE system keyspace to Network Topology

ALTER KEYSPACE system_auth WITH replication ={‘class’: ‘NetworkTopologyStrategy’,’dc1′: ‘3’, ‘dc2’: ‘3’};
ALTER KEYSPACE system_traces WITH replication ={‘class’: ‘NetworkTopologyStrategy’,’dc1′: ‘3’, ‘dc2’: ‘3’};
ALTER KEYSPACE system_distributed WITH replication ={‘class’: ‘NetworkTopologyStrategy’,’dc1′: ‘3’, ‘dc2’: ‘3’};

Check the logs for any errors

This is to verify that the node is fully bootstrapped.

use these two commands to check the data sync.

  • nodetool status ==> to see the node is joining 
  • nodetool netstats ==> to see the data sync status