Changing an IP Address in a Rolling Fashion (no downtime for reads)
Warning
SingleStore 9.0 gives you the opportunity to preview, evaluate, and provide feedback on new and upcoming features prior to their general availability. In the interim, SingleStore 8.9 is recommended for production workloads, which can later be upgraded to SingleStore 9.0.
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