Changing an IP Address in a Rolling Fashion (no downtime for reads)
This topic describes how to change the IP addresses for one or more hosts in a SingleStore cluster.
-
disable-nodes-autostart - Use this only if you need to restart the host to change the IP else skip this step.
-
Shut down the node:
If it is a leaf, first remove the leaf entry by running:
REMOVE LEAF '<IP of OLD leaf>':<port> FORCE; -
Change the IP address.
-
Unregister the old leaf from
sdb-toolbox-config
:sdb-toolbox-config unregister-host --host <old_ip_address_here> -
When you re-register the host under the new IP, by default it should automatically find the old nodes.
hcl file (as it should be the same host, just with a new IP) andyou can skip this step as the nodes will already be registered. However, if you have lost a config file then you need to register the new leaf to sdb-toolbox-config
:sdb-toolbox-config register-host --host <new_ip_address_here> -
Add the leaf node to the cluster:
ADD LEAF user[:'password']@'<new_ip_address_here>':<node_port>;sdb-admin start-node --all -
Enable autorestart, if you had executed Step 1.
Part 1 - Change the IP of leaf nodes one availability group at a time
Part 2 - Change the IP of the Child Aggregator (one Child Aggregator at a time)
-
disable-nodes-autostart - Use this only if you need to restart the host to change the IP else skip this step.
-
Remove the aggregator from the cluster:
REMOVE AGGREGATOR 'host':port; -
Change the IP address of the host.
-
Unregister the old host from
sdb-toolbox-config
:sdb-toolbox-config unregister-host --host <old_ip_address_here> -
Register the new host to
sdb-toolbox-config
:sdb-toolbox-config register-host --host <new_ip_address_here> -
Register the node to
sdb-admin
:sdb-admin register-node --memsql-config /path/to/memsql.cnf --host <new_ip_address_here> -
Add the node as an aggregator to cluster:
ADD AGGREGATOR user[:'password']@'<new_ip_address_here>':port; -
Enable autostart.
, if you had executed Step 1.
Part 3 - PROMOTE one of the Child Aggregators to Master Aggregator
To promote a child aggregator to master aggregator, execute:
PROMOTE AGGREGATOR '<host>':<port> TO MASTER;
Part 4 - Change the old Master Aggregator IP
See the steps in Part 2.
Part 5 - PROMOTE the previous Master Aggregator back to a Master Aggregator, if needed
To promote the original master aggregator back to a master aggregator if needed, execute:
PROMOTE AGGREGATOR '<new_ip_of_original_MA>':<port> TO MASTER;
Last modified: August 10, 2023