Hi,

We have a production cluster with few nodes in each data center. Each node
is being contacted in each data center to serve front end requests. I have
a question about the method adding new nodes to the cluster (say, to
improve RF or scalability). AFAIK, there are two methods to do this.

1. Bring up the node, with no data in it, and let it get the data from the
peers. But the issue with this problem is all the requests coming into this
node can not be served until it gets all the data. This is a big impact for
front end.
2. Copy all the data into the new node from other nodes (we can be little
bit smart here selecting which nodes to copy from), bring it up and run
cleanup and repair. The issue with this approach is all the data will be
around 1TB and it will take a consider amount of time to copy them all and
also because of the rate of updates happening its sometimes hard to shadow
the time to copy the data in to this node.

Is there an option in Cassandra, where I can bring a node up, just like in
#1, but ask peers not to send any read request to it? Or may be apart from
all these, are there better option to handle new nodes?

Also, I think I can use a similar method when a node goes down (say, disk
or RAID failure) for a longer period of time.

Please help me to find an answer to this.

Thanks,
Eran Chinthaka Withana

Reply via email to