gcadmin使用

一、862和95版本的gcadmin区别说明

862版本和953版本,存在vc管理的区别。95版本可以进行gcadmin rmfeventlog ip 操作。862是没有的

952版本和953版本也有一些参数的区别。比如gcadmin showddlevent detail,952是没有detail参数的。95328.4可以使用detail参数。这此以953为例进行说明

二、95版本的gcadmin分类说明及参数说明

A.distribution管理,包括生成集群节点的distribution,删除集群distribution。显示集群信息distribution。

gcadmin生成distribution

ü命令:

gcadmin distribution <gcChangeInfo.xml>

[d num] [extension] [pattern 1|2] [db_user user_name] [db_pwd password] [dba_os_password password] [vc vc_name]

ü参数说明:

1.参数gcChangeInfo.xml,生成distribution的gnode节点信息文件。集群安装成功后,会在安装包所在目录下生成一个名为gcChangeInfo.xml的示例文件。

2.参数p指一个节点存放主分片数量,distribution最多可存放65535个主分片,即p*node_number <= 65535。

3.参数d指每个主分片的备份分片数。目前取值为0,1或2。为0时显示警告信息。若不输入参数d,默认值为1

B.生成distribution命令

pattern为1时,负载均衡模式,node list的后一个节点为前一个节点做备份,最后一个节点的为第一节点做备份

•负载均衡模式pattern 1,此模式下gcChangeInfo.xml中的每个rack中的节点为一组,每个rack中的节点上主分片的备份分片1存放到gcChangeInfo.xml中下一个rack中的节点上,备份分片2存放到gcChangeInfo.xml中上一个rack中的节点上。gcChangeInfo.xml中的第一个rack的上一个rack为最后一个rack,最后一个rack的下一个rack为第一个rack。

•使用负载均衡模式生成distribution,每个节点主分片数(即参数p)必须小于每个rack的节点数,以此来保证备份分片分布均匀。

pattern为2时,node list的每个节点同时为前后两个节点做备份,最后一个节点和第一节点互相备份

•高可用模式 pattern 2

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

C.获取distribution信息命令:

ü命令

gcadmin getdistribution<distribution_info.xml>

ü参数说明

获取指定ID的distribution信息,将distribution信息写入指定的distribution_info.xml文件中。用户可手工修改该文件后,使用该文件从新生成distribution。

ID

distribution ID,指定ID的distribution必须已存在。

distribution_info.xml:

用户指定的存放distribution信息的文件,若文件已存在则将其内容清空,写入distribution信息。

D.删除distribution

ü命令

gcadmin rmdistribution [ID] [vc vc_name]

ü参数说明:

[ID]:distribution id不可为空

[vc vc_name]:指定删除的distribution的vc 的名称。如果集群只有一个vc,不需要指定vcname

ü命令执行过程:

读取参数,获得要删除的distribution ID。若无参数则删除旧的distribution

检查distribution是否仍在使用,若仍在使用则报错退出。

调用gcware接口将distribution删除。

2.node管理,包括addnodes命令、rmnodes、switchmode、setnodestate

Øaddnodes命令

gcadmin addnodes gcChangeInfo.xml [vc_name | single_vc_add_to_rc]

参数说明:

gcadmin addnodes gcChangeInfo.xml vc_name:将gcChangeInfo.xml中指定数据节点添加到VC内,用于安装、扩容后freenode节点加入vc内

gcadmin addnodes gcChangeInfo.xml single_vc_add_to_rc :在兼容模式下,将新增节点添加到RootCluster(RC)中作为freenode。

Ørmnodes命令:

gcadmin rmnodes gcChangeInfo.xml [vc_name | single_vc_rm_to_rc]

gcadmin rmnodes gcChangeInfo.xml vc_name :从vc内删除节点信息

gcadmin rmnodes gcChangeInfo.xml single_vc_rm_to_rc:兼容模式下将节点从集群中移除,即将默认vc中的节点移除到root cluster中变为freenode。

改变集群状态命令:集群分为gcware、coordinator、vc(data),改变集群状态命令switchmode修改可改变vc的状态和coordinator状态集群状态:

ü命令:gcadmin switchmode [vc vc_name | coordinator]

ü参数说明

1.mode包括:[ normal | readonly | recovery ]显示在gcadmin显示VIRTUAL CLUSTER MODE

2.[vc vc_name | coordinator]:改变vc或者coor节点的状态

适用于集群备份数据,需要设置集群所有vc为readonly状态;集群恢复数据,需要设置集群所有vc为recovery状态

节点状态:

命令:gcadmin setnodestate ip

参数说明:

:failure unavailable normal

适用于集群节点替换时,需要设置节点为unavailable 状态

Øsetnodestate命令

3.vc管理,包括createvc、rmvc、renamevc、start vc和stop vc、importvc

Ø创建vc

命令:

gcadmin createvc <create_vc.xml | e example_file_name>

参数说明:

create_vc.xml参数:ip(freenode节点信息),vc_name(不能超过64个字节),comment_message

e example_file_name:生成xml示例文件

Ø删除vc

命令:

gcadmin rmvc <vc_name>

前提:

1)l删除vc前需要删除vc下的所有用户库表及其他数据库对象,删除镜像关系,删除拓扑信息。否则删除vc会报错

Ø重命名vc

命令:gcadmin renamevc oldName newName

Østartvc:启动VC即启动数据节点,如gbase、syncserver启动

gcadmin startvc <vc_name1 vc_name2 …> <os_dba_user_name> <os_dba_password>

参数说明:

vc_name1 vc_name2 :要启动的VC名,可以存在多个。

os_dba_user_name:操作系统dba用户名

os_dba_password :操作系统dba用户的密码

eg:gcadmin startvc vc1 gbase gbase

Østopvc:停止vc即停止数据节点服务,如gbase、syncserver停止

gcadmin stopvc <vc_name1 vc_name2 …> <os_dba_user_name> <os_dba_password>

参数说明:

vc_name1 vc_name2 :要启动的VC名,可以存在多个。

os_dba_user_name:操作系统dba用户名

os_dba_password :操作系统dba用户的密码

Øimportvc添加虚拟集群:不同集群间的vc(data节点)导入,成为当前集群的一个VC

ü命令:

gcadmin importvc importvc.xml

üimportvc.xml参数:

import_vc.xml:导入vc所使用的配置文件

e example_file_name:生成导入vc的示例文件

Ø镜像vc:镜像VC其实是通过对表创建镜像关系来实现的,所以所谓的镜像VC、镜像库等概念其实都是因为创建了镜像表才有的镜像关系。

1、创建镜像表命令

若表已存在,可以添加镜像关系:

alter table vc1.test.t1 create mirror to vc2 ;

若表已存在,vc2下也存在该表,可强制添加镜像关系:

alter table vc1.test.t1 create mirror to vc2 force ;

若表不存在,可以在创建表时指定:

create table t1(i int,j int)replicated mirror to vc2;

create table t1 mirror to vc2 as select * from tt;

说明:

1)只有两个vc的hashmap必须完全一致才可以创建镜像关系;所以在创建vc2时可以使用、initnodedatamap from vc1的命令进行创建,可保证vc1与vc2的;

2)vc2下的test库需要提前创建好,否则会报错;

3)force关键字,会强制删除vc2.test下已存在的表t1,重新创建与vc1.test.t1完全相同的表vc2.test.t1;

2、删除镜像表命令:alter table vc1.test.t1 delete mirror;

3、以库为单位批量创建镜像表关系:

alter database vc1.test create mirror to vc2;

alter database vc1.test create mirror to vc2 force;

说明:

1)该命令只影响test库当前已存在的表,对后续test库再新建表无影响;也就是执行完该操作后test库已存在的表均被创建了镜像关系,后续再建表若没有指定镜像关系则仍为非镜像表;

2)force关键字,会强制删除vc2.test下与vc1.test库中同名且没有镜像关系的表,重新创建与vc1.test库下完全相同的表;

4、以库为单位批量删除镜像表关系:

alter database vc1.test delete mirror;

4.集群状态管理:rmfeventlog

rmfeventlog:执行节点替换操作前,使用该命令将被替换节点(已被设置为unavailable状态)的所有fevent log(DDL fevent log、DML fevent log、DMLStorage fevent log)删除

命令:

gcadmin rmfeventlog ip

5.信息查询:showcluster、show lock、show failover、show feventlog

5.1.showddlevent

命令:

gcadmin showddlevent [detail] [ | | <max_fevent_num>] [f] [vc vc_name]

命令说明:

a.gcadmin showddlevent:查看集群所有DDL操作产生的数据恢复信息。

b.gcadmin showddlevent tablename nodeip:查看某个表在某个节点上由于DDL操作产生的数据恢复信息。

c.gcadmin showddlevent tablename segname nodeip:查看某个表的某个分片在特定节点上由于DDL操作产生的数据恢复信息。查看segname和nodeip 可使用use vc vc1;show nodes;

d.detail:增加显示4项信息(Request #59056,适用95328.4、95329.4版本)

Time:fevent产生的时间,精确到毫秒

Source:fevent来源,显示记录节点ip信息

SessionId:记录feventlog的sql执行的sessionid,sessionid为空显示为0

Cmd:执行sql类型,执行入口有三个,gcluster、gcrecover、set command

       gcluster:dml如insert、delete、update、load。。。ddl如create_db,create_table,rename等

       gcrecover:对于gcrecover记录的event显示为GCRecover

       set command记录的event,显示为SET_OPTION

执行过程:

gcluster和gcrecovery新增四项字段信息,调用gcware接口,保存到gcware中,使用feventlog增加存储信息;

d.gcadmin showcluster nrt:

执行gcadmin showcluster默认采用实时探测机制(各个节点超时时间默认check_interval: 30);使用gcadmin showcluster nrt(Defect #59971),采用非实时探测机制,即执行gcadmin NRt只读取当前探测结果。

适用于集群内部分节点卡死后,gcadmin需要较长时间才能返回造成业务积压的问题。

测试方法:停止gclusterd或者gbased服务,执行gcadmin showcluster nrt,可以看到服务仍是正常的,如果去掉nrt参数(实时探测)可以看到服务是CLOSE状态。

注:

gcadmin showcluster nrt只是不进行节点状态的实时探测,间隔一段时间,定时探测的机制还是有效;

6.gcadmin --help、version命令

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值