Replace a running node

When replacing or adding nodes, only use new nodes. A new node is a system where DSE has never started. The node must have absolutely no previous data in the data, saved_caches, commitlog, and hints directories.

Data loss or corruption can occur if you use a recycled node, such as a node moved from another cluster, because the existing data on the recycled node is merged into the cluster.

You can replace a running DataStax Enterprise (DSE) node with a new node when updating to newer hardware or performing proactive maintenance. There are two ways to replace a running node:

  • Add a node and then remove the old node.

  • Replace a running node as though it were a dead node to avoid cleanup and repetitive streaming.

Add a node and then remove the old node

Prepare and start the replacement node, integrate it into the cluster, and then decommission the old node:

  1. Prepare and start the replacement node according to your cluster architecture:

    You must install the same DSE version (major, minor, and patch) on all nodes in a cluster.

  2. Confirm that the replacement node is up and running:

    • Vnodes: Run nodetool status, and make sure the replacement node’s status is UN (Up/Normal).

    • Single-token architecture: Run nodetool ring, and make sure the replacement node’s status is Up.

  3. From the output of the previous command, get the Host ID of the node that you are replacing, and then use that Host ID to decommission the node with the nodetool decommission command.

  4. Run nodetool cleanup on all the other nodes in the same datacenter.

    Failure to run nodetool cleanup after adding a node can result in data inconsistencies, including resurrection of previously deleted data.

Replace a running node without cleanup or repetitive streaming

To replace a running node without streaming the data twice or running cleanup, you can use the dead node replacement process:

  1. Ensure that your applications and scripts don’t use consistency level ONE for any writes to the cluster where you are replacing a node.

    Writes at consistency level ONE risk data loss because the replaced node might contain the only copy of a record. Be absolutely sure that no application uses consistency level ONE when using this replacement method.

  2. Stop DSE on the node that will be replaced.

  3. Follow the instructions for replacing a dead node using the old node’s IP address for -Dcassandra.replace_address.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use |  Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM