文档中心MogDBMogDB StackUqbar
v1.1

文档:v1.1

支持的版本:

实例级别集群运维工具 PTKC

该工具在 ptk v0.8 及以上版本支持

PTK 在安装数据库集群时,会在数据库所在的系统用户下生成名为 ptkc 的工具,该命令行工具能够直接在数据库用户下操作整个集群。

ptkc,gs_ctl,gs_om 对比

功能点 ptkc gs_ctl gs_om
查询数据库状态 支持集群/实例 仅支持本地实例 支持集群/实例
启动数据库 支持集群/实例 仅支持本地实例 支持集群/实例
关闭数据库 支持集群/实例 仅支持本地实例 支持集群/实例
重启数据库 支持集群/实例 仅支持本地实例 支持集群/实例
重建数据库 支持本地/远程 仅支持本地实例 支持本地/远程
指定上游节点重建数据库 支持 支持 不支持
failover 支持本地/远程 仅支持本地实例 不支持
switchover 支持本地/远程 仅支持本地实例 不支持
查看数据库参数 支持本地/远程 不支持 不支持
查看HBA内容 支持本地/远程 不支持 不支持

ptkc 使用

ptkc 保持了和 ptk 一致的使用习惯和命令。 PTK是多集群管理工具,而 ptkc 是单集群运维工具,所以ptkc 的操作指令在 ptk 的基础上更加精简。

注:由于 ptkc 自身不存储任何元数据,完全依赖数据库已有的状态文件解析集群信息,目前的状态信息中没有存储系统用户等信息,所以 ptkc 不支持不同节点不同用户和单机多实例的场景

以下给出部分操作示例,更多命令可通过 ptkc -h 获取:

集群状态查询

$ ptkc status
[   Cluster State   ]
cluster_name          : c1
cluster_state         : Normal
database_version      : MogDB 3.0.4 (build cc068866)

[  Datanode State   ]
  cluster_name |  id  |     ip      | port  | user | nodename | db_role | state  | upstream
---------------+------+-------------+-------+------+----------+---------+--------+-----------
  c1           | 6001 | 172.23.1.87 | 33300 | vmx1 | dn_6001  | primary | Normal | -
               | 6002 | 172.23.1.88 | 33300 | vmx1 | dn_6002  | standby | Normal | -

集群重启操作

ptkc restart

主备切换操作

$ ptkc switchover -H 172.23.1.88
INFO[2023-05-26T17:58:15.234] start switchover, please wait a few moments ...
INFO[2023-05-26T17:58:20.324] switchover output:
[2023-05-26 17:58:15.295][3035571][][gs_ctl]: gs_ctl switchover ,datadir is /home/vmx1/mogdb/data
[2023-05-26 17:58:15.295][3035571][][gs_ctl]: switchover term (1)
[2023-05-26 17:58:15.299][3035571][][gs_ctl]: waiting for server to switchover........
[2023-05-26 17:58:20.323][3035571][][gs_ctl]: done
[2023-05-26 17:58:20.323][3035571][][gs_ctl]: switchover completed (/home/vmx1/mogdb/data)
INFO[2023-05-26T17:58:20.324] switchover successfully
$ ptkc status
[   Cluster State   ]
cluster_name          : c1
cluster_state         : Normal
database_version      : MogDB 3.0.4 (build cc068866)

[  Datanode State   ]
  cluster_name |  id  |     ip      | port  | user | nodename | db_role | state  | upstream
---------------+------+-------------+-------+------+----------+---------+--------+-----------
  c1           | 6001 | 172.23.1.87 | 33300 | vmx1 | dn_6001  | standby | Normal | -
               | 6002 | 172.23.1.88 | 33300 | vmx1 | dn_6002  | primary | Normal | -

查询数据库参数

$ ptkc show-guc -k port
port = 33300

生成 PTKC

ptk 的安装包默认是没有提供ptkc单独下载地址的,可通过 ptk 单独生成 ptkc 工具

ptk gen-ptkc
Copyright © 2011-2024 www.enmotech.com All rights reserved.