How to change IP address of Node
Hi,
I have installed vertica on 2 nodes ( VMware) . After installation, i got some issue with networking on VMware and i need to change ip address. Now i am trying to create a database using admintools , it is showing me old IP's of nodes and not giving options to change ips. How can i change nodes IP address ? Thanks
0
Comments
What version of Vertica do you have?
hi
I have a standalone vertica node (only one node). The machine ip where it is installed has been changed. It's necessary to change in v_catalog.node the fields: node_address and export_address.
the normal update table set ... doesn't work.
alter node .. is hostname... doesn't work because the node is active,
any other idea?
thank you,
veronica
In Vertica 8 + it is not so easy
Hi verticadba2,
You may try the below procedure. Note, we have tested this procedure on a cluster of 3 nodes but not sure if this will work on 1-node machine.
1) Take complete backup of your cluster using vbr.py
2) Update the Existing Old node with the New IP address using vsql.
SELECT NODE_NAME, NODE_ADDRESS FROM NODES WHERE NODE_NAME ilike ‘%NODE_NAME%%’;
-- change the node IP
ALTER NODE node_name HOSTNAME 'NEW_NODE_IP';
3) Change the Old node’s Control IP with the New IP address using vsql.
-- change the nodes spread/control IP
ALTER NODE node_name CONTROL HOSTNAME 'NEW_NODE_IP';
4) Re-push the spread configuration with New IP address.
-- re-write spread.conf with the new IP address and reload the running config
-- (db should remain UP)
SELECT RELOAD_SPREAD(true);
5) Update the Admintools.conf manually. This must be done on a UP node. Any node will do, and in this post we will call it
.Edit the file /opt/vertica/conf/admintools.conf, by replacing all instances of the old ip address by the new ip address. This means that there will be 3 lines to update:
• [Cluster] > hosts
• [Nodes] : 2 lines, the one starting with the node name and the one with the node number.
For instance, assume we are replacing node2 from a 3-node cluster, from ip 10.0.0.2 to ip 10.0.0.42
Before, here were the relevant lines of admintools.conf:
[Cluster]
hosts = 10.0.0.1,10.0.0.2,10.0.0.3
[Nodes]
node0002 = 10.0.0.2,/home/dbadmin,/home/dbadmin
v_vdb_node0002 = 10.0.0.2,/home/dbadmin,/home/dbadmin
After, notice the parts in bold:
[Cluster]
hosts = 10.0.0.1,10.0.0.42,10.0.0.3
[Nodes]
node0002 = 10.0.0.42,/home/dbadmin,/home/dbadmin
v_spil_dwh_node0002 = 10.0.0.42,/home/dbadmin,/home/dbadmin
6) Configure the new node:
Still from the node where you edited the config file, , distribute them via the admintools:
• run as dbadmin user /opt/vertica/bin/admintools
• go to Configuration Menu > Distribute Config Files
• select Database Configuration and Admintools Meta-Data.
If you cannot find spread.conf under your describer location then copy it from . You can check that spread.conf now have the IP 10.0.0.42 instead of 10.0.0.2.
Finally, as a last sanity check, have a look at /opt/vertica/config/admintools.conf and make sure that the new IP appears instead of the old one.
7) Restart Vertica on New node:
Use the the admintools /opt/vertica/bin/admintools and select “Restart Vertica on Host”. The node will then start the recovery process. All missing data will be copied to it, and once done it will join the cluster which will be complete again.
Regards,
Raghav Agrawal
hi
I created a script that is executed before the vertica restart.
sed -i 's/new_ip/old_ip/g' /D/vertica/catalog/mydb/v_mydb_node0001_catalog/Catalog/config.cat
sed -i 's/old_ip.255/new_ip.255/g' /D/vertica/catalog/mydb/v_mydb_node0001_catalog/Catalog/config.cat
sed -i 's/old_ip/new_ip/g' /opt/vertica/config/admintools.conf
sed -i 's/new_ip/old_ip/g' /D/vertica/catalog/mydb/v_mydb_node0001_catalog/spread.conf
sed -i 's/Naaabbbcccddd/Neeefffggghhh/g' /D/vertica/catalog/mydb/v_mydb_node0001_catalog/spread.conf
BR,
veronica
Can you please confirm this solution work? I am getting an error while starting I get error ... " Database synchronization step failed ..."
Couldn't connect with ...
Actually looks like its still trying to connect the old ip. I have already changes the ips to new one in admintool.conf
Hi, you should use the re-IP tool instead of manually changing the config files
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/AdministratorsGuide/ManageNodes/ReMapIPs/ReMapIPOverview.htm
Hi ,
Thanks for the response.
I followed the above mentioned link but is fails. IN my case, the old ips are already replaced with new ip configuration as they are moed to a new site. The only problem is that all the vertica configuration files needs to be updated. I belie this tool automatically handle that for all the 3 nodes provided in the mapped text file as input.
Do I need to have pwdless ssh for vertica admin user for running this script?
I am really stuck now for a customer and want a solution. ANy help will be greatly appreciatd.
Thanks,
SM