-
Notifications
You must be signed in to change notification settings - Fork 44
Add Nodes
Add new nodes to an existing ScyllaDB cluster.
- Cluster created following the Create Cluster guide
- Saved configuration from cluster creation
- New nodes accessible via SSH
The first step is to add the new nodes to your inventory file. This simulation uses the same cluster from the Create Cluster example. New DCs and racks are supported.
[scylla:children]
scylla-dc1
scylla-dc2
[scylla-dc1]
node1 ansible_host=10.0.0.1 rack=a
node2 ansible_host=10.0.0.2 rack=b
node3 ansible_host=10.0.0.3 rack=c
node7 ansible_host=10.0.0.7 rack=a # new
node8 ansible_host=10.0.0.8 rack=b # new
node9 ansible_host=10.0.0.9 rack=c # new
[scylla-dc2]
node4 ansible_host=10.0.0.4 rack=a
node5 ansible_host=10.0.0.5 rack=b
node6 ansible_host=10.0.0.6 rack=c
[scylla-manager]
manager-node ansible_host=10.0.0.10
[scylla-monitor]
monitor-node ansible_host=10.0.0.11Suspend Scylla Manager tasks before adding new nodes:
sctool --cluster mycluster suspendUpdate monitoring configuration to include new nodes before deployment. This allows you to follow the bootstrapping progress in Grafana once nodes start being added. From inside your cluster metadata directory:
ANSIBLE_ROLES_PATH=$PATH_TO_YOUR_CLONED_REPO ansible-playbook -i inventory.ini $PATH_TO_YOUR_CLONED_REPO/example-playbooks/scylla_deploy/monitoring.ymlFrom inside your cluster metadata directory:
ANSIBLE_ROLES_PATH=$PATH_TO_YOUR_CLONED_REPO ansible-playbook -i inventory.ini $PATH_TO_YOUR_CLONED_REPO/example-playbooks/scylla_deploy/nodes.ymlNew nodes will join the cluster automatically.
Run cleanup on existing nodes to remove data now owned by new nodes. From inside your cluster metadata directory:
ANSIBLE_ROLES_PATH=$PATH_TO_YOUR_CLONED_REPO ANSIBLE_ACTION_PLUGINS=$PATH_TO_YOUR_CLONED_REPO/example-playbooks/async_extra/action_plugins \
ansible-playbook -b --extra-vars "cleanup_batch_size=1" \
-i inventory.ini $PATH_TO_YOUR_CLONED_REPO/example-playbooks/run_cleanup/run_cleanup.yml \
-M $PATH_TO_YOUR_CLONED_REPO/example-playbooks/async_extra/library --limit scylla-dc1cleanup_batch_size controls how many nodes run cleanup in parallel (default: 1).
Resume Scylla Manager tasks after adding new nodes:
sctool --cluster mycluster resume