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