user3915184
user3915184

Reputation: 3

How to disable vnodes in an existing cassandra cluster?

The DSE documentation says this to disable vnodes but I believe it is in the context of setting up a new cluster. Can vnodes be disabled on an existing cluster without loss of data? Is there a procedure for this?

Disabling virtual nodes¶

To disable virtual nodes:

In the cassandra.yaml file, set num_tokens to 1. num_tokens: 1 Uncomment the initial_token property and set it to 1 or to the value of a generated token > for a multi-node cluster.

Upvotes: 0

Views: 1474

Answers (1)

PJ.
PJ.

Reputation: 1206

According to the answer that I received from the same question, you need to create a new DC where vnodes are disabled.

  1. If you are using DseSimpleSnitch which auto-assigns the DC based from node type, you need to change the snitch all of existing and new nodes to something else (e.g. GossipingPropertyFileSnitch). Otherwise, all new nodes that you'll start will simply be added to the existing DC which has vnodes enabled. You can change this setting in /dse.yaml

  2. Compute and assign tokens to the new nodes

  3. Set auto_bootstrap to false in cassandra.yaml
  4. Start the new nodes
  5. Run nodetool rebuild on each of the new nodes. This is a long-running process so I'd recommend that you run it within a screen instance to avoid accidental termination when you close your terminal

I might have missed some steps. Be sure to check the steps given here: Disabling virtual nodes in an existing Solr DC

Upvotes: 3

Related Questions