> Hi,
> 
> Our environment will consist of cluster with size not bigger than 2 to 4 
> nodes per cluster(all
> located in the same DC). We want to ensure that every node in the cluster 
> will own 100% of
> the data. A node adding(or removing) procedure will be automated so we want 
> to ensure we're
> making the right steps. Lets say we have node 'A' up and running and want to 
> add another node
> 'B' to make a cluster. Node A configuration will be: 
> seed: "IP of A"
> listen_address: "IP of A"
> num_tokens: 256
> rpc_address: 0.0.0.0
> The keyspace uses SimpleStrategy with RF: 1.
> 
> Adding node 'B' to cluster we are doing the following:
> 1. Stop cassandra on B.
> 2. Update cassandra.yaml - change seed to point to "IP of A"
> 3. Update cassandra-topology.properties - add node A ip to it and make it the 
> default one.
> 4. rm -rf /var/lib/cassandra/*
> 5. Start cassandra on B.
> 6. Wait untill nodetool status reports the node B is up.
> 7. Update RP of the keyspace to 2.
> 8. Run nodetool repair on B and wait it to finish.
> 
> Can we update the RF factor on A before starting Cassandra on B in order to 
> skip steps 7 and
> 8?
> 
> 
> Now when the data is sync on both nodes we want to make a node B a seed node.
> 9. Update seed property on A and B to include the the IP of B node.
> 10. Restart cassandra on both nodes.
> 
> If adding more nodes to the cluster the steps will be the same except that 
> seed property will
> contain all existing nodes in the cluster.
> 
> So are these steps everything we need to do? 
> Is there anything more we need to do?
> Is there an easier way to do what we want or all the steps above are 
> mandatory?

Good day,

That's something I'm looking for too. Unfortunately till now I haven't found 
the right way to achieve it. Nodetool repair takes lots of time to execute. 

Reply via email to