南大通用GBase 8c分布式场景gha_ctl语法详解

276 阅读6分钟

原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应。

一、背景信息

gha_ctl 是GBase 8c 提供的集群管理工具,可以用来启停数据库和查询数据库状态。主要供 GBase 8c 管理模块调用。gha_ctl 工具由操作系统用户 gbase 执行。

二、命令介绍

通过使用操作系统用户 gbase 调用 gha_ctl 命令可以看到,gha_ctl 有20余种功能,包含数据库安装、卸载、启停、扩缩容,重建节点、查看集群状态、升级和回滚、设置集群组件参数等多种功能。

[gbase@node1 ~]$ gha_ctl --help
Usage: gha_ctl.py [OPTIONS] COMMAND [ARGS]...
 gha command
Options:
 --help  Show this message and exit.
Commands:
 add           Add component on the host machine
 backup        backup component
 build
 create        Create Dcs cluster
 deploy        Copy package and set env
 destroy       Destroy Dcs cluster
 expand        expand datanode
 get           query cluster info
 install       Install package
 monitor       Monitor cluster running state.
 prepare       Prepare env for install
 reconfig
 remove        Stop component on the host machine
 remove-force  Stop component on the host machine
 restore       restore component
 rollback      Rollback package version
 set           Set cluster component parameters
 show-cfg      Show ha config
 shrink        shrink datanode
 start         Start component on the host machine
 stop          Stop component on the host machine
 switchover    Switchover component on the host machine
 uninstall     uninstall package
 upgrade       Upgrade package version

以下通过部分例子介绍gha_ctl 命令部分参数所实现的功能:

1.gha_ctl install/uninstall

使用gha_ctl install 或 gha_ctl uninstall 执行集群安装或卸载。

a).install 

-p:必选字段。安装时需指定安装文件yml路径执行安装。

-c:可选字段。指定集群名称,缺省默认集群名称为gbase。

gha_ctl install -c gbase -p /home/gbase

1.png

b).uninstall

-l:必选字段。指定集群DCS地址。

-c:可选字段。指定集群名称,缺省默认集群名称为gbase。

gha_ctl uninstall -c gbase -l http://192.168.122.55:2379

2.png

2.gha_clt monitor 

使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口),其中 all 参数为输出所有组件状态,可以替换为任意组件名称(all|server|gtm|coordinator|datanode|dcs),默认为all。

-l:必选字段。指定集群DCS地址。

-H:可选字段。指定返回信息是否以表格形式显示。缺省默认为文件命令行形式。

gha_ctl monitor all -l http://192.168.122.55:2379 -HI

3.png

3.gha_ctl stop/start

使用 gha_ctl stop 和 gha_ctl start 启动/停止集群所有节点,亦可控制各组件启停,包括GTM、CN、DN 节点。

gha_ctl stop coordinator cn1 -l http://192.168.122.55:2379 -c gbase

4.png

gha_ctl start datanode dn1 dn1_1  -l http://192.168.122.55:2379 -c gbase

5.png

4.gha_ctl add/remove

指定添加或移除节点的类型,可选值为coordinator、datanode、dcs、gtm、server。

a).add

观察以下命令,从左往右推,依次参数分别为 组件名 、赋予组件名称、增加的节点IP、对外通信端口号、安装路径、内部通信端口号、dcs地址。

gha_ctl add gtm gtm3 192.168.122.56 6666 /data/gbase/database/gtm/gtm3 8001 -l http://192.168.122.55:2379

6.png

gha_ctl add datanode dn1 dn1_2 192.168.122.55 15442 /data/gbase/database/dn1/dn1_2 8015 -l http://192.168.122.55:2379

7.png

b).remove/remove-force

gha_ctl remove datanode dn1 dn1_2 -l http://192.168.122.55:2379

8.png

数据节点 DN 只有1个主分片1个备份片时,需要使用以下命令强制去除备机

gha_ctl remove-force datanode dn1 dn1_2 192.168.122.55 -l http://192.168.122.55:2379

9.png

5.gha_ctl build 

使用 gha_ctl build 命令对备份分片进行重建,适用于备分片数据不一致或硬件故障导致备分片数据损坏。

gha_ctl build dn1_2 -l http://192.168.122.55:2379 -b full

10.png

6.gha_ctl backup

使用gha_ctl backup 可以对数据库进行备份,需提前写入backup.yml 文件,如下内容:

backup_host: 192.168.122.55
backup_dir: /data/backup

-p:必选字段。指定backup.yml文件存放路径。

-a:可选字段。选择备份类型,缺省值为全量备份。

gha_ctl backup all -p /data/backup/ -a '-b FULL' -l http://192.168.122.55:2379

11.png

gha_ctl backup show -p /data/backup/ -l http://192.168.122.55:2379

12.png

7.gha_ctl switchover 

dn1_1 是leader ,切换到dn1_2 上,使dn1_2作为主分片

gha_ctl switchover datanode dn1 dn1_1 -l http://192.168.122.55:2379

13.png

8.gha_ctl upgrade/prepare/rollback

a).gha_ctl prepare

gha_ctl prepare 主要功能是为升级或回滚程序提供安装包环境变量。从V5_S3.0.3B28参数往右,依次为:升级具体版本号、新版本安装包解压路径、GAUSSHOME目录。

-u:必选字段。指定操作系统用户。

gha_ctl prepare -u gbase V5_S3.0.3B28 /data/gbase/upgrade_package/ /data/gbase/gbase_db/ -l http://192.168.122.55:2379 -c gbase

14.png

b).gha_ctl upgrade

gha_ctl upgrade 为版本升级主程序,可通过改命令配置升级类型及执行升级程序。V5_S3.0.3B28 为指定prepare提供的安装包版本变量。

./gha_ctl upgrade V5_S3.0.3B28 -l http://192.168.122.55:2379 -c gbase

15.png

c).gha_ctl rollback

gha_ctl rollbackup 为版本回滚主程序,使用方法与upgrade相似。

./gha_ctl rollback V5_S3.0.3B18 -l http://192.168.122.55:2379 -c gbase

16.png

9.gha_ctl deploy

在 DCS 节点上,在集群中添加新增节点的 IP,执行deploy 复制安装包并配置环境

gha_ctl deploy 192.168.122.58 -l http://192.168.122.55:2379

17.png

10.gha_ctl expand

将原集群的 3 个 DN 主备组扩容为 4 个主备组,将新增加的每一个主备组信 息用一组引号单独括起来,每个主备的信息是 DN 组名+用括号括起来的所有主备节点的信息,一个节点用一个括号。以下为下方用例单引号内的参数从左往右依次参数说明:

  • dn4:指定新增高可用组的名称。可根据需要,同时扩充多个高可用组。
  • dn4_1:指定高可用组内的 DN 节点名称,一般格式应为 dn[数字]_[数字]。
  • 192.168.122.58:指定扩容高可用组内对应 DN 节点的 IP。
  • 15432:指定对应 DN 节点的端口号。同高可用组内端口需一致。当资源限制需重复使用 同一节点,在不同高可用组内分别承担主备角色时,需将两个高可用组端口设置不同, 避免端口复用而报错。
  • /data/gbase/database/dn4/dn4_1:指定对应 DN 节点的存储路径。
  • 8006:指定对应 DN 节点的代理端口号。
  • 192.168.122.58:为可选参数。缺省值为 host 参数值。指定 DN 节点控制面 IP。
  • -u:通过唯一标识指定数据库。uuid 可以用如下命令生成:cat /proc/sys/kernel/random/uuid
gha_ctl expand datanode 'dn4 (dn4_1 192.168.122.58 15432 /data/gbase/database/dn4/dn4_1 8006 192.168.122.58) ' -l http://192.168.122.55:2379 -u a0dbe56b-2c28-4d5e-9677-0fb7a0385a5d

18.png

11.gha_ctl shrink 

将原集群的 4 个 DN 主备组缩容为 3 个主备组,dn4 为缩容时需要删除的 DN 主备组名称。

gha_ctl shrink datanode dn4 -l http://192.168.122.55:2379 -u 400449a6-4af9-416b-ae24-d9fe53b050b4

19.png

12.gha_ctl get 

获取集群信息,可获取到集群服务名称、扩容历史等信息

gha_ctl get service -l http://192.168.122.55:2379
gha_ctl get expand history -l http://192.168.122.55:2379 -c gbase

20.png

原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应。