gbase8a v953版本兼容模式改造多vc模式

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
简介: gbase8a v953版本兼容模式改造多vc模式

本手顺适用于在集群需要改变当前VC模式,如兼容模式改多VC模式等情况需求。

注意:多 VC 模式 不支持回退为单 VC 模式,如果删除新增的 VC 只保留最初的一个 VC集群的模式仍然是多 VC 模式。

简介

集群为兼容模式,对原有集群集群增加节点,增加后的节点归属于另外一个新VC,原有的默认VC不变。

步骤概览

  1. 安装新节点
  2. 将新增加的节点从默认VC移出至根VC中
  3. 创建新VC并添加新节点
  4. (可选)重命名VC
  5. (可选)设置用户默认vc
  6. 新建用户、库、权限管理
  7. 数据导入
  8. 数据校验

具体步骤

如下示例为一个两节点的兼容模式的集群,增加一个节点,要求增加后的节点不在默认vc中,归属于另一个新VC。


为新节点准备环境,如配置网络通顺、环境变量等(略)

修改安装文件demo.options文件

1) 设置 dataHost 参数为要安装的节点的 IP;

2) 修改 existCoordinateHost 参数为已存在的 Coordinator 节点的 IP;

3) 修改 existDataHost 参数为已存在的所有 data 节点的 IP


  1. 安装新节点

[gbase@gbase1 gcinstall]$ ./gcinstall.py –silent=demo.options


  1. 将新增加的节点从默认VC移出至根VC中


如上图所示,新增加的节点没有distribution,也不是free_node,而创建新VC的必备条件就是集群中有free node可以添加进新VC中,这步的目的就是将新节点移出至根VC,使其变为free node

  1. 编辑gcChangeInfo.xml文件,将新增的节点IP填入其中


  1. 执行节点移出命令

 

[gbase@gbase1 gcinstall]$ gcadmin rmnodes gcChangeInfo.xml single_vc_rm_to_rc


执行后的结果为原有集群不变,在兼容模式架构下增加了一个freenode


  1. 创建新VC,并添加节点
  2. 生成创建VC模板文件,并填写

[gbase@gbase1 gcinstall]$ gcadmin createvc e vc.xml

[gbase@gbase1 gcinstall]$ vi vc.xml


  1. 根据模板文件创建vc

[gbase@gbase1 gcinstall]$ gcadmin createvc vc1.xml


  1. 为新vc创建distribution

[gbase@gbase1 gcinstall]$ gcadmin distribution gcChangeInfo.xml p 1 d 1 vc vc2 dba_os_password 111111

  1. 初始化新VC

  1. (可选)重命名VC

[gbase@gbase1 gcinstall]$ gcadmin renamevc vcname000001 vc1


  1. (可选)设置用户默认vc


gbase 数据 原单vc更名为vc1,新建vc名为vc2,由于之前为单VC(兼容模式),其中由于集群中只存在一个vc,编写sql时可以不使用vc名,具体表现为:select * from testdb.t;当集群中存在多vc时,vc名不可忽略,具体表现为:select * from vc00001.testdb.t;可以将兼容模式下的所有用户设置缺省vc为vc1(兼容模式下的vc更名为vc1),操作如下,操作后使用sql与兼容模式下sql保持一致。

[gbase@gbase1 gcinstall]$ gccli -utestdb -ptestdb

gbase> select * from testdb.t;

gbase> select * from vc1.testdb.t;

gbase> set default_vc for testdb = 'vc1';

gbase> select * from vc1.testdb.t;



  1. 新建用户、库、权限管理

将兼容版本vc1添加为原所有用户的默认vc后,需要在新建vc2中创建与vc1中同名数据库,用户无法同名,需重新规划,权限与vc1中保持一致,还需新增用户对兼容模式下的vc1中对应库的select权限。

[gbase@gbase1 ~]$ gccli -uroot

gbase> use vc vc2;

gbase> create database testdb;

gbase> create user testdb_vc2 identified by 'testdb';

gbase> grant all on testdb.* to testdb_vc2;

gbase> grant select on vc1.testdb.* to testdb_vc2;

  1. 数据导入

当前集群存在两个VC,其中VC1为源VC,VC2为新建VC,需要将VC1中部分数据导入至VC2中,操作如下:

[gbase@gbase1 gcinstall]$ gccli -ugbase -pgbase

gbase> create table vc2.testdb.t like vc1.testdb.t;

gbase> insert into vc2.testdb.t select * from vc1.testdb.t;

gbase> insert into vc2.testdb.t select * from vc1.testdb.t where c1 < 5;

  1. 数据校验
  2. 源端

[gbase@gbase1 gcinstall]$ gccli -ugbase -pgbase

gbase> desc vc1.testdba.t;

gbase> select sum(crc32(c1)+crc32(c2)+……) from vc1.testdb.t;

  1. 目的端

[gbase@gbase1 gcinstall]$ gccli -ugbase -pgbase

gbase> desc vc2.testdba.t;

gbase> select sum(crc32(c1)+crc32(c2)+……) from vc2.testdb.t;

核验sum值,sum值一致,源数据一致。

相关文章
|
SQL NoSQL Java
信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接
信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接
1925 0
信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接
|
1月前
|
SQL 网络安全 数据库
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
|
SQL 关系型数据库 MySQL
信创迁移适配实战-修改Nacos2.0.4源码以连接达梦数据库DM8
信创迁移适配实战-修改Nacos2.0.4源码以连接达梦数据库DM8
3417 0
信创迁移适配实战-修改Nacos2.0.4源码以连接达梦数据库DM8
|
缓存 Kubernetes Linux
安装K8S集群1.17版本(euleros系统通用)
安装K8S集群1.17版本(euleros系统通用)
412 0
|
缓存
「OushuDB」版本升级 二进制替换升级步骤
请注意需要留下足够的升级与测试时间,避免升级出现问题需要回退到老版本。另外,请在升级前做好数据的备份工作,防止出现意外。
128 0
为什么要选择兼容光模块,兼容光模块比原装品牌光模块有优势吗?
市场的竞争压力越来越大,经济发展的增速逐渐放缓,大家都期待降低成本,赢得更多的市场机会,有什么好的方法呢?在光模块领域,有一种方法,既可以使你的品牌设备稳定运行,也能够满足合理的财务预算,如思科品牌的兼容光模块。
1055 0