Move production env cassandra cluster to AWS cassandra without downtime

拜拜、爱过 提交于 2019-12-02 04:40:42

Create a new DC in AWS. Configure inter DC sync between the both DCs. Decommision the old DC.

https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html

I've done this before.

As Alex Tbk said, you'll add nodes at AWS with a new data center.

  1. Add new, empty nodes with a new, logical data center name. You'll need to use the GossipingPropertyFile snitch (if you're not already) and specify the DC in the cassandra-rackdc.properties file. You can also specify a logical rack in that file, and it's usually a good idea to put the AWS availability zone there.

  2. After you get one AWS node built, build the rest using the first node's IP as a seed. You won't want them trying to hit your on-prem DC on a restart. And afterward, you will also want to set the first node to use one of the others as a seed node.

  3. Once you get your nodes built, you'll need to modify your keyspace and specify a replication factor for your new AWS DC.

  4. Run a nodetool rebuild on each AWS node, using your existing DC as the source.

    nodetool rebuild -- sourceDCName

  5. Definitely consider upgrading. 1.2 was a solid version, but you're missing out on so many new features/fixes.

Note: Some folks recommend using the AWS specific snitches (EC2Snitch, EC2MultiRegionSnitch), but you will want all nodes in your cluster running on the same snitch. So for a hybrid-cloud deployment (before you have a chance to decomm your on-premise nodes), you'll want to stick with the GossipingPropertyFile snitch. Honestly, that's the only snitch I use, regardless of provider, and you should be fine with that, too.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!