TigerGraph 2.x - Change a Node’s IP in TigerGraph Cluster

Introduction

In some cases, you may change a TigerGraph server node’s IP while the graph data and TigerGraph installation on that node remain the same. E.g., in AWS, the TigerGraph cluster is installed using EC2 with EBS storage. Later, one existing EC2 instance has an issue and needs to be replaced by a new one. The new one will attach to the same EBS but has a different (private) IP address.

In this case, you may just reconfigure the TigerGraph system to use the new IP. For illustration, in below instruction, we use a 2 node cluster for example.

The original system has these two IPs,

m1: 172.30.1.48
m2: 172.30.1.43

and we are going to replace m2 to a node with IP 172.30.1.111.

m1: 172.30.1.48
m2: 172.30.1.111

Instructions

1.Stop the TG System If TG system is running, stop it. As TigerGraph user, on m1,

m1$ gadmin stop -fy all admin ts3

If above command fails, please manually find TigerGraph processes on all the nodes and kill them

2.Replace the Server Node You may now shutdown the old node (with IP 172.30.1.43), and start the node with new IP (with IP 172.30.1.111)

3.Reconfigure and Apply the Change With the system is still down, as TigerGraph user, on m1, change m2’s IP.

m1$ gadmin --configure cluster.nodes
Enter new values or accept defaults in brackets with Enter.
Nodes are computer server nodes in cluster. Leave them empty if using single node.
Current Cluster.Nodes:
  m1:172.30.1.48
  m2:172.30.1.43
New Cluster.Nodes: m1:172.30.1.48
New Cluster.Nodes: m2:172.30.1.111
...
Test servers with supplied settings? [Y/n] n
Save settings? [y/N] y

(Note: you need to input all the m?:IP, one by one) Then apply the change

m1$ gadmin config-apply

4.Remove the Old Node from the Dictionary Start Zookeeper and using zkCli to remove expired server node.

m1 $ source ~/.bash_tigergraph
m1 $ echo "rmr /tigergraph/dict/objects/__services/RLS-GSE/_expelled_nodes" |  /home/tigergraph/tigergraph/zk/bin/zkCli.sh -server localhost:19999

5.Start the Service

m1$ gadmin start