How to change IP address of Node

verticadba2verticadba2 Registered User

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

Comments

  • ckotsidimosckotsidimos Registered User

    What version of Vertica do you have?

  • vcarusivcarusi Registered User

    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

  • ckotsidimosckotsidimos Registered User

    In Vertica 8 + it is not so easy

  • RaghavARaghavA Registered User

    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

  • vcarusivcarusi Registered User

    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

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file