集群的扩容
集群扩容功能允许用户在系统下线时,向现有的计算机集群中添加节点并重新分布数据。

准备动作

  1. 1.
    现有的TigerGraph系统必须以集群模式部署,若已使用单节点模式部署则不适用本功能。
  2. 2.
    扩容后的图数据存储总空间必须至少为现有gstore已使用的磁盘空间的三倍。
    1. 1.
      在扩容过程中,所有图数据文件都会制作一个副本,并需要其他一些空间用于别的操作。
    2. 2.
      检查现有gstore的大小
  3. 3.
    需要添加的新节点已准备完毕。

集群扩容步骤

配置GBAR工具

GBAR工具用于集群扩容操作。若这是用户第一次使用GBAR工具,用户必须首先运行配置命令gbar config。详见文档 Backup and Restore。对于大型的系统部署来说,最重要的参数为backup_core_timeout。该参数的默认值为 5 小时。配置脚本中可以找到如何合理估计该参数值的方法。

在新节点中配置环境

在命令行界面中,进入<tigergraph_root_dir>/pkg_pool/syspre_pkg目录(默认位于TigerGraph的根目录~/tigergraph/pkg_pool/syspre_pkg下),执行set_syspre.sh脚本配置环境:
执行 ./set_syspre.sh -h 查看帮助:
./set_syspre.sh -h
Usage:
./set_syspre.sh -i <IP address/host name> -u <sudo user> (-P <password> | -K <ssh key>) [-p <tigergraph user password>]
./set_syspre.sh -h
Options:
-h -- show the help
-i -- the IP address of the new machine
-u -- sudo user [default: $USER]
-P -- sudo user password [default: empty]
-K -- sudo user ssh key [default: empty]
-p -- tigergraph user password [default: tigergraph]
[NOTE ]: This script must be run under tigergraph user.
例:假设新节点为192.168.1.6,使用sudo账户ubuntu,登录秘钥为ubuntu_rsa,则命令为:
为新节点配置环境
./set_syspre.sh -i 192.168.1.6 -u ubuntu -K ~/.ssh/ubuntu_rsa
当命令执行完成后,所有系统需求要的先期配置以及需对应的ssh秘钥都已在新节点上配置完成。
对于在Ubuntu上运行TigerGraph 2.2版本的用户来说, 必须在所有计算机节点上将.bashrc 开头部分的下述代码块注释掉。该文件可以在TigerGraph管理员账户对应的home文件夹下找到。
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac

添加一个新的节点

运行gbar expand命令可向集群添加节点,节点名以下述的格式附加在命令中:
gbar expand <node_alias_1>:<ip_1>,<node_alias_1>:<ip_2>,...,<node_alias_n>:<ip_n>
例:向集群添加两个节点:
gbar expand m6:192.168.1.6,m7:192.168.1.7
上述命令同时会在所有节点(包括m6和m7)上重新分布数据,使得所有数据在每一个节点上均匀分布。
GBAR工具会在每个新节点上执行以下检查项目:
  1. 1.
    新节点数必须是gpe.replicas和gse.replicas两者中较大值的整数倍。
  2. 2.
    每个新节点的别名(alias)必须是有效的标识参数。
  3. 3.
    每个新节点的IP地址必须能够通过ssh从运行着gbar expand的节点上访问。
若系统尚未建立数据库纲目(schema)或还未导入数据,则系统会提示数据一致性错误。该告警可忽略。

高级扩容模式

TigerGraph同时支持高级扩容模式(可选)。请联系TigerGraph的技术人员获取详细信息。

错误处理

若在扩容过程中发生任何错误,GBAR工具会自动将系统回滚到系统扩容之前的状态。基于安全的考虑,数据的备份文件在系统完成扩容或回滚完成前,不会被删除。