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