gbase8a节点替换

一、节点替换的理论

1.节点故障

2.集群硬件升级

替换的节点类型:

1.coordinator节点

    原理:替换安装程序会修改corosync的配置文件,使得新节点能够在集群内代替旧节点

    清除ddl恢复日志

2.data节点

    原理:替换安装程序会创建用户数据库,设置所有的用户数据全同步标志;

    清除ddl恢复日志,dml恢复日志和dml全同步日志(以前节点的同步信息没作用)

3.复合节点(coordinator+data)

注:节点替换会执行清除同步日志信息,同步元数据信息等操作,随后数据同步由自动恢复服务完成

准备替换节点设备硬件-->重新安装集群软件-->进行数据同步操作

注:节点替换的过程中,集群不支持写操作,只能执行select等读操作

节点替换,可以使用freenode节点替换,或者使用new节点替换,freenode只能替换data node,new节点可以替换coordinator和data node。

节点替换过程中集群模式的变化:

NORMAL -> READONLY -> NORMAL

同步元数据前:集群模式为 NORMAL,集群可以正常操作

同步元数据期间:集群模式为 READONLY,只允许进行查询操作,不允许任何 dml、 ddl 以及加载操作,此时进行数据表结构的同步操作,对用户数据表设置全同步标志

同步完成后:集群模式为 NORMAL,集群可以正常操作

替换完成后,集群可以正常进行操作。

注:参考集群配置文件gbase_8a_gcluster.conf中的gcluster_mode_wait参数:0:表示节点替换过程中出现写操作报错退出,1:(默认)表示节点的替换过程中,让用户的写操作无限等待,直到节点替换完成,再继续执行

节点替换过程中节点的变化:

OFFLINE/close/open-> UNAVAILABLE(无效) -> REPLACE -> ONLINE

替换开始前:节点损坏,节点的状态为 OFFLINE,用户必须设置节点状态为 UNAVAILABLE;

替换开始后:节点状态转换为 REPLACE

替换成功后:节点状态转换为 ONLINE

替换执行失败:节点状态回滚为 UNAVAILABLE

注:数据不会丢失

纯数据节点进行节点替换时,可直接使用集群中的 freenode,如果没有 freenode,也可使用一台集群外的新机器进行节点替换。

86版本节点替换

v95版本替换:

二、节点替换的步骤

1.检查网络状态

保证集群内网络畅通,带宽充裕

2.设置要替换的节点的状态为unavailable;

在操作系统的gbase用户下(demo.options文件中dbauser参数指定的用户)下运行 gcadmin  setnodestate  命令设置要替换的节点状态为unavailable(改成unavailable之后,只能做替换操作,不能改成其他模式)

如:gcadmin setnodestate  192.168.18.11 unavailable

3.准备用于节点替换的机器

1).新机器安装和原节点机器的操作系统相同,ip地址设置相同

将原节点关闭,然后将替换节点的ip地址改为被替换节点ip,删除原ssh信任关系

2).符合集群的安装要求,如:关闭防火墙,关闭selinux等

4.查看集群各项状态

CLUSTER STATE:         ACTIVE

VIRTUAL CLUSTER MODE:  NORMAL

节点状态为unavailable

5.删除event

6.replace.py对节点进行替换安装

[gbase@gbaseman gcinstall]$ python replace.py --help

Usage: replace.py [options]

Options:

  -h, --help            show this help message and exit

  -a                    do not prompt the user for confirmation

  --host=HOSTLIST       replaced nodes' ip splitting by comma   指定要替换的节点ip,用','隔离

  --rootPwd root 用户的密码, 要求所有节点 root 密码一致。

  --root_pwd_file 该参数支持 root 用户在多节点不同密码方式, 与参数rootPwd 不能同时使用, 否则报错。

  --type=NODETYPE       replaced nodes' type,value:coor,data     替换节点的类型

  --freenode=FREENODE   cluster freenodes' ip splitting by comma  

  --dbaUser=DBAUSER     dba user      

  --dbaUserPwd=DBAPWD   dba user password

  --generalDBUser=GENDBUSER

                        cluster database user

  --generalDBPwd=GENDBPWD

                        cluster database user password

  --overwrite           new and complete overwrite   强制覆盖,参数可选,不使用此参数需要提前停掉集群服务

  --sync_coordi_metadata_timeout=SYNC_COORDI_METADATA_TIMEOUT    设置coor节点替换的超时时间,默认为15

                        sync coordinators' metadata timeout,default 15mins

  --parallel_pack=PARALLEL_PACK              节点替换并行打包开关

                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值