Adding a data center to an existing cluster.
Ensure that you are using NetworkTopologyStrategy for all of your keyspaces.
For each node, set the following properties in the cassandra.yaml file:.
Add (or edit) auto_bootstrap: false.
By default, this setting is true and not listed in the
cassandra.yaml file. Setting this parameter
to false prevents the new nodes from attempting to get all the data
from the other nodes in the data center. When you run nodetool rebuild in the
last step, each node is properly mapped.
Set other properties, such as -seeds and
listen_address, to match the cluster
If you want to enable vnodes, set num_tokens.
The recommended value is 256. Do not set the initial_token
If using the PropertyFileSnitch, update the
cassandra-topology.properties file on all servers to
include the new nodes. You do not need to restart.
Ensure that your client does not auto-detect the new nodes so that they aren't
contacted by the client until explicitly directed. For example in Hector, use
If using a QUORUM consistency level
for reads or writes, check the LOCAL_QUORUM or EACH_QUORUM consistency level to
see if the level meets your requirements for multiple data centers.
Start Cassandra on the new nodes.
After all nodes are running in the cluster:
Change the strategy_options for your keyspace to the desired
replication factor for the new data center. For example: set strategy
options to DC1:2, DC2:2. For more information, see ALTER KEYSPACE.
rebuild on all nodes in the new data center.