Upgrade TigerGraph 3.x Cluster Node by Node

This document applies to the 3.x versions only.

Introduction

1.Stop all services

gadmin stop all -y

2.Stop the executor manually, move away the data root, and remove the config file on each node

pkill tg_infr_exed
gadmin config get System.DataRoot  --file ~/.tg.cfg
mv <YOUR_DATA_ROOT> <BACKUP_LOCATION>
rm ~/.tg.cfg

3.Install the new 3.x version as a single node(127.0.0.1) with sudo user to the old data root on each node Installation Guide - TigerGraph Server

4.Stop all the services on each node and remove the data root

gadmin stop all -y
rm -rf <YOUR_DATA_ROOT>

5.Move back data root on each node

mv <BACKUP_LOCATION> <YOUR_DATA_ROOT>

6.Change app root in config file from 3.0.0 to 3.x.x on each node, depending on your new version

vim ~/.tg.cfg

7.Remove informant database on each node

rm <DATA_ROOT>/informant/db/informant.db

8.Start executor manually on each node

gadmin start exe --dry-run

This command will print the executor start commands for each node similar to the following:

 EXE_1:
mkdir -p /home/tigergraph/tigergraph/log/executor /home/tigergraph/tigergraph/log/executor;exec env -i TG_TOKEN=XXX PATH=XXX  LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 /home/tigergraph/tigergraph/app/3.0.5/bin/tg_infr_exed -c /home/tigergraph/.tg.cfg --partition 1
EXE_2:
mkdir -p /home/tigergraph/tigergraph/log/executor /home/tigergraph/tigergraph/log/executor;exec env -i TG_TOKEN=XXX PATH=/XXX LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 /home/tigergraph/tigergraph/app/3.0.5/bin/tg_infr_exed -c /home/tigergraph/.tg.cfg --partition 2/home/tigergraph/.tg.cfg --partition 1

Save the start command of each executor into a shell file and append the log path to the command:

 .... --partition 1 > /home/tigergraph/tigergraph/log/executor/exe.out 2>&1 &

Save the corresponding (be careful since the commands are different for different nodes) executor start script on to each node with executable permission and start them manually by nohup.

scp exe_1.sh <m1_ip>:<path_to_file>/exe_1.sh
ssh <m1_ip>
nohup <path_to_file>/exe_1.sh
scp exe_2.sh <m2_ip>:<path_to_file>/exe_2.sh
ssh <m2_ip>
nohup <path_to_file>/exe_2.sh
...

9.After all the executors are started, do the following commands:

gadmin start ctrl
gadmin config apply --initial
gadmin init kafka -y
gadmin start ZK KAFKA IFM ETCD
gadmin start

10.Recompile all the loading job

gadmin config apply --with-config ~/.tg.cfg
gsql recompile loading job
gsql install query -force all