GBase 8a MPP Cluster 的管理员常用命令-distribution

gcadmin 为管理员提供管理集群的操作, 包括生成、删除 distribution,查看集群状态、 distribution 信息等常用功能。
       gcadmin 命令在 DBA 用户(即安装时指定的 dbaUser) 下进行操作, 支持的
       选项如下:  

# gcadmin --help
Usage: gcadmin <command> [arg1[, arg2...]]
1. gcadmin distribution <gcChangeInfo.xml> <p num> [d num] [pattern 1|2]
[db_pwd password]: generate
distribution, db_root_pwd shall input if changed and new distribution data nodes
more than old distribution
2. gcadmin rmdistribution [ID]: remove distribution
3. gcadmin addnodes gcChangeInfo.xml: add nodes
4. gcadmin rmnodes gcChangeInfo.xml: remove nodes
5. gcadmin showdistribution [node]: show cluster
distribution, or segments on nodes when use parameter node
6. gcadmin switchmode <mode>: switch cluster
mode,mode take value in: {normal|readonly|recovery}
7. gcadmin showlock: show current cluster lock information, include
lock name, lock owner ip address, etc
8. gcadmin showddlevent [<tablename segname nodeip> | <tablename nodeip> |
<max_fevent_num>]: show current cluster ddl fail event, replicated table segname
is [n0]
9. gcadmin showdmlevent [<tablename segname nodeip> | <max_fevent_num>]:
show current cluster dml fail event, replicated table segname is [n0]
10. gcadmin showdmlstorageevent [table ID segname nodeip] | <max_fevent_num>]:
show current cluster dml storage fail event, replicated table segname is [n0]
11. gcadmin showcluster [c | d | f]: show current cluster information,
include all nodes, cluster state and cluster node information
12. gcadmin getdistribution <ID> <distribution_info.xml> : get distribution
information13. gcadmin setnodestate ip <state>: set one node
state,state take value in: unavailable
14. gcadmin --help: show help info
15. gcadmin -V,--version: show version info

distribution 命令  

       语法:
       gcadmin distribution <gcChangeInfo.xml> <p number> [d number][pattern 1|2] [db_root_pwd password]
       功能:
       安装完集群, 生成 distribution 时, 需要使用该命令进行操作。
       注: 此命令需要切换到 dbaUser 用户下, 才能正确执行。若使用其它用户执行生成 distribution命令, 将提示用户切换到dbaUser用户执行该命令, 并报错退出。
       gcChangeInfo.xml:生成 distribution 的 gnode 节点信息文件。集群安装成功后,在执行安装操作命令的节点上的安装包目录下, 会生成一个gcChangeInfo.xml 文件。该文件为 xml 格式, 其根标签为<servers>, 描述生成distribution的 gnode节点信息; 子标签为<rack>, 即机架, 描述的是机架与gnode节点对应关系。安装后生成的 gcChangeInfo.xml中仅有一个<rack>,
其中包含集群中的所有 gnode 节点信息,在使用 pattern 1 模式生成distribution 时,可按机器部署情况插入多个<rack>标签,将 gnode节点信息插入到对应的<rack>标签下。
       p number:每个数据主节点存放的分片数量,最小值为 1, p值乘数据节点数不大于 65535,即集群总分片数不大于 65535,否则 gcadmin 将报错退出。
       d number:每个分片的备份数量,取值为 0, 1 或 2。若不输入参数 d,默认值为 1。  

       pattern number:生成distribution所使用模式,取值为 1或2, pattern1 为负载均衡模式, pattern 2 为高可用模式。若不输入参数 pattern,默认使用 pattern 1 生成 distribution。

       db_root_pwd:生成新 distribution, 并且新旧 distribution 的数据节点不完全相同时输入。 如果数据库 root 用户密码不为空,需要在执行命令的过程中,传入数据库 root 用户密码。 目前密码中不支持单引 号,其它特殊符号用单引号包围。
       示例:
       生成 distribution 有 pattern 1, pattern 2 和编写 distribution 配置信息文件三种模式。使用编写 distribution 配置信息文件方式生成distribution 时,需手工编写一个配置文件,描述每个分片及其备份分片存放的节点信息。
       pattern 1 为负载均衡模式,此模式下 gcChangeInfo.xml 中的每个 rack中的节点为一组,每个 rack 中的节点上主分片的备份分片 1 存放到gcChangeInfo.xml 中下一个 rack 中的节点上,备份分片 2 存放到
gcChangeInfo.xml 中上一个 rack 中的节点上。 gcChangeInfo.xml 中的第一个rack 的上一个 rack 为最后一个 rack,最后一个 rack 的下一个 rack 为第一个
rack。
       使用 pattern 1 模式生成 distribution,每节点主分片数(即参数 p)必须小于每个 rack 的节点数,以此来保证备份分片分布均匀。每个 rack 包含的节点数尽可能相同,若 gcChangeInfo.xml 文件中有多余 1 个 rack 的节点数与其它 rack 不同, gcadmin将会提示用户系统性能可能会下降,需用户确认后才能生成 distribution。
       在安装好集群后,在执行安装操作的节点上,安装包目录下会生成一个包含所有 gnode 节点信息的 gcChangeInfo.xml 文件,如下所示:  

<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="192.168.153.128"/>
<node ip="192.168.153.129"/>
<node ip="192.168.153.133"/>
<node ip="192.168.153.134"/>
<node ip="192.168.153.130"/>
<node ip="192.168.88.137"/>
</rack>
</servers>

                                 gcChangeInfo.xml 文件  

根据实际机架和机器部署情况,在该文件中插入<rack>标签,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="192.168.153.128"/>
<node ip="192.168.153.129"/>
</rack>
<rack>
<node ip="192.168.153.133"/>
<node ip="192.168.153.134"/>
</rack>
<rack>
<node ip="192.168.153.130"/>
<node ip="192.168.88.137"/>
</rack> </servers>  

                                     <rack>标签  

       使用 pattern 1 和该修改后的 gcChangeInfo.xml 文件生成 distribution。

       如下所示:

  $ gcadmin distribution gcChangeInfo.xml p 1 d 2 pattern 1
gcadmin generate distribution ...
NOTE: node [192.168.153.129] is coordinator node, it shall be data node too
NOTE: node [192.168.153.130] is coordinator node, it shall be data node too
gcadmin generate distribution successful

                                 生成 distribution  

       生成 distribution 后, 可使用 gcadmin showdistribution 和 gcadminshowdistribution node 命令查看生成的 distribution 信息, 如下所示:  

$ gcadmin showdistribution
Distribution ID: 1 | State: new | Total segment num: 6
Primary Segment Node IP Segment ID Duplicate Segment node IP
===============================================================================
| 192.168.153.128 | 1 | 192.168.153.134 | 192.168.88.137
-------------------------------------------------------------------------------
| 192.168.153.129 | 2 | 192.168.153.133 | 192.168.153.130
-------------------------------------------------------------------------------
| 192.168.153.133 | 3 | 192.168.88.137 | 192.168.153.129
-------------------------------------------------------------------------------
| 192.168.153.134 | 4 | 192.168.153.130 | 192.168.153.128
-------------------------------------------------------------------------------
| 192.168.153.130 | 5 | 192.168.153.129 | 192.168.153.134
-------------------------------------------------------------------------------
| 192.168.188.137 | 6 | 192.168.153.128 | 192.168.153.133
===============================================================================

                                               gcadmin showdistribution  

$ gcadmin showdistribution node
Distribution ID: 1 | State: new | Total segment num: 5
===============================================================================
|nodes|192.168.153.128|192.168.153.129|192.168.153.133|192.168.153.134|192.168.
153.130|192.168.88.137|
-------------------------------------------------------------------------------
|primary| 1 | 2 | 3 | 4 | 5 | 6 |
|segments| | | | | | |
-------------------------------------------------------------------------------
|duplicate | 6 | 5 | 2 | 1 | 4 | 3 |
|segments 1| | | | | | |
-------------------------------------------------------------------------------
|duplicate | 4 | 5 | 6 | 5 | 2 | 1 |
|segments 2| | | | | | |
===============================================================================

                                             gcadmin showdistribution node  

       pattern 2 模式为高可用模式, 此模式下生成的 distribution 将每个 data节点的备份分片 1 存放到下一个 data 节点上, 备份分片 2 存放到上一个 data节点上。使用 pattern 2 模式配置文件gcChangeInfo.xml 中仅需一个 rack 即可,有多个 rack 也作为一个 rack 处理。
       生成 distribution 的配置文件如下所示  

<?xml version="1.0" encoding="utf-8"?>
<servers>
<rack>
<node ip="192.168.153.128"/>
<node ip="192.168.153.129"/>
<node ip="192.168.153.133"/>
</rack>
<rack>
<node ip="192.168.153.134"/>
<node ip="192.168.153.130"/>
<node ip="192.168.88.137"/></rack>
</servers>

                                               生成 distribution 的配置文件

       使用 pattern 2 和该配置文件生成 distribution 如下所示  

$ gcadmin distribution gcChangeInfo.xml p 2 d 2 pattern 2
gcadmin generate distribution ...
gcadmin generate distribution successful

                                                    生成 distribution  

       生成 distribution 后, 可使用 showdistribution 和 showdistribution node 命令查看生成的 distribution 信息, 如下所示:  

$ gcadmin showdistribution
Distribution ID: 21 | State: new | Total segment num: 12
Primary Segment Node IP Segment ID Duplicate Segment node IP
===============================================================================
| 192.168.153.128 | 1 | 192.168.153.129 | 192.168.88.137
-------------------------------------------------------------------------------
| 192.168.153.129 | 2 | 192.168.153.133 | 192.168.153.128
-------------------------------------------------------------------------------
| 192.168.153.133 | 3 | 192.168.153.134 | 192.168.153.129
-------------------------------------------------------------------------------
| 192.168.153.134 | 4 | 192.168.153.130 | 192.168.153.133
-------------------------------------------------------------------------------
| 192.168.153.130 | 5 | 192.168.88.137 | 192.168.153.134
-------------------------------------------------------------------------------
| 192.168.188.137 | 6 | 192.168.153.128 | 192.168.153.130
-------------------------------------------------------------------------------
| 192.168.153.128 | 7 | 192.168.153.129 | 192.168.88.137-------------------------------------------------------------------------------
| 192.168.153.129 | 8 | 192.168.153.133 | 192.168.153.128
-------------------------------------------------------------------------------
| 192.168.153.133 | 9 | 192.168.153.134 | 192.168.153.129
-------------------------------------------------------------------------------
| 192.168.153.134 | 10 | 192.168.153.130 | 192.168.153.133
-------------------------------------------------------------------------------
| 192.168.153.130 | 11 | 192.168.88.137 | 192.168.153.134
-------------------------------------------------------------------------------
| 192.168.188.137 | 12 | 192.168.153.128 | 192.168.153.130
===============================================================================

                                           gcadmin showdistribution 命令  

$ gcadmin showdistribution node
Distribution ID: 21 | State: new | Total segment num: 12
===============================================================================
|nodes|192.168.153.128|192.168.153.129|192.168.153.133|192.168.153.134|192.168.
153.130|192.168.88.137|
-------------------------------------------------------------------------------
|primary| 1 | 2 | 3 | 4 | 5 | 6 |
|segments| 7 | 8 | 9 | 10 | 11 | 12 |
-------------------------------------------------------------------------------
|duplicate| 6 | 1 | 2 | 3 | 4 | 5 |
|segments 1| 12 | 7 | 8 | 9 | 10 | 11 |
-------------------------------------------------------------------------------
|duplicate| 2 | 3 | 4 | 5 | 6 | 1 |
|segments 2| 8 | 9 | 10 | 11 | 12 | 7 |
===============================================================================

                                                   gcadmin showdistribution node 命令  

       编写 distribution 配置信息文件模式需手工编写一个 distribution 分片配置的 xml 文件, 在文件中指明每个分片的主/备分片存放的节点。使用该方式生成 distribution 无需输入参数 p, d 和 pattern。生成 distribution 的gcChangeInfo.xml 文件如下所示  

<?xml version="1.0" encoding="utf-8"?>
<servers>
<cfgFile file="distribution.xml"/>
</servers>

                                                          gcChangeInfo.xml 文件  

       distribution 分片配置信息文件 distribution.xml 如下所示  

<?xml version='1.0' encoding="utf-8"?>
distributions>
<distribution>
<segments>
<segment>
<primarynode ip="192.168.153.125"/>
<duplicatenodes>
<duplicatenode ip="192.168.153.126"/>
<duplicatenode ip="192.168.153.127"/>
</duplicatenodes>
</segment>
<segment>
<primarynode ip="192.168.153.128"/>
<duplicatenodes>
<duplicatenode ip="192.168.153.129"/>
</duplicatenodes>
</segment>
</segments>
</distribution>
</distributions>

                                                       分片配置信息文件 distribution.xml  

       使用编写 distribution 信息文件模式生成 distribution 如下所示  

$ gcadmin distribution gcChangeInfo.xml
gcadmin generate distribution ...
gcadmin generate distribution successful

                                                        生成 distribution  

$ gcadmin showdistribution
Distribution ID: 3 | State: new | Total segment num: 2
Primary Segment Node IP Segment ID Duplicate Segment node
IP
===========================================================================
=========
| 192.168.153.125 | 1 | 192.168.153.126
|
| | | 192.168.153.137
|
---------------------------------------------------------------------------
---------
| 192.168.153.128 | 2 | 192.168.153.129
|
===========================================================================
=========

                                                                       showdistribution  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值