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

简介: 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值一致,源数据一致。

相关文章
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
277011 0
|
9月前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
5994 80
|
弹性计算 关系型数据库 数据库
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
标签 PostgreSQL , 只读 , 锁定 , readonly , recovery.conf , 恢复模式 , pg_is_in_revoery , default_transaction_read_only 背景 在一些场景中,可能要将数据库设置为只读模式。 例如, 1、云数据库,当使用的容量超过了购买的限制时。切换到只读(锁定)模式,确保用户不会用超。 2、业务上需要对
8280 0
|
安全 网络安全
gbase8a centos8(kylinv10)加载报登录 ftp失败报错530 Login incorrect 排查过程及解决办法
centos8(kylinv10)加载报登录 ftp失败报错530 Login incorrect 排查过程及解决办法
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
697 4
|
JSON Linux Shell
vscode c++ 使用问题汇总
vscode c++ 使用问题汇总
669 0
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之对抗样本生成与防御
基于深度学习的对抗样本生成与防御是当前人工智能安全领域的关键研究方向。对抗样本是通过对输入数据进行微小扰动而产生的,能够导致深度学习模型做出错误预测。
871 2
|
Windows
Mac Snipaste 不仅仅是截图工具,不在菜单栏显示,怎么样修改快捷键
Mac Snipaste 不仅仅是截图工具,不在菜单栏显示,怎么样修改快捷键
1962 0
|
关系型数据库 Shell 数据库
mac安装mysql数据库及配置环境变量
安装mysql 下载mysql。我下载的是:mysql-8.0.11-macos10.13-x86_64.dmg双击打开mysql-8.0.11-macos10.13-x86_64.dmg,然后双击mysql-8.0.11-macos10.13-x86_64.pkg 一路点击继续,傻瓜式安装,没什么好说的 此处选择“Use Legacy Password Encryption”,否则使用navicat连接mysql的时候,会报无法加载身份验证的错误。
4340 0