KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构
案例说明:
在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移。
适用版本:
KingbaseES V8R3
当前数据库版本:
TEST=# select version();
VERSION
-------------------------------------------------------------------------------------------------------------------------
Kingbase V008R003C002B0290 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
集群状态信息:
TEST=# show pool_nodes;
node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay
---------+---------------+-------+--------+-----------+---------+------------+-------------------+-------------------
0 | 192.168.1.101 | 54321 | up | 0.500000 | standby | 0 | false | 0
1 | 192.168.1.102 | 54321 | up | 0.500000 | primary | 0 | true | 0
(2 rows)
流复制状态信息:
TEST=# select * from sys_stat_replication;
PID | USESYSID | USENAME | APPLICATION_NAME | CLIENT_ADDR | CLIENT_HOSTNAME | CLIENT_PORT | BACKEND_START | BACKE
ND_XMIN | STATE | SENT_LOCATION | WRITE_LOCATION | FLUSH_LOCATION | REPLAY_LOCATION | SYNC_PRIORITY | SYNC_STATE
-------+----------+---------+------------------+---------------+-----------------+-------------+-------------------------------+------
--------+-----------+---------------+----------------+----------------+-----------------+---------------+------------
18217 | 10 | SYSTEM | node101 | 192.168.1.101 | | 45972 | 2022-07-29 16:14:33.202101+08 |
| streaming | 0/2E0001B0 | 0/2E0001B0 | 0/2E0001B0 | 0/2E0001B0 | 1 | sync
(1 row)
一、在主库初始化新的实例
=注意:需要和原集群的配置环境一致,如大小写敏感性、字符集等。=
1、初始化新的实例
[kingbase@node102 bin]$ ./initdb -U system -W 123456 -E utf8 -D /data/kingbase/v8r3_290/data/
The files belonging to this database system will be owned by user "kingbase".
This user must also own the server process.
......
syncing data to disk ... ok
Success. You can now start the database server using:
./sys_ctl -D /data/kingbase/v8r3_290/data/ -l logfile start
2、启动新的实例
[kingbase@node102 bin]$ ./sys_ctl -D /data/kingbase/v8r3_290/data/ start
server starting
3、测试数据库连接
[kingbase@node102 bin]$ ./ksql -U system -W 123456 test -p 54325
ksql (V008R003C002B0290)
Type "help" for help.
test=# select version();
version
-------------------------------------------------------------------------------------------------------------------------
Kingbase V008R003C002B0290 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
4、关闭数据库服务
[kingbase@node102 bin]$ ./sys_ctl stop -D /data/kingbase/v8r3_290/data/
waiting for server to shut down.... done
server stopped
二、集群迁移单实例
1、停止集群服务
[kingbase@node101 bin]$ ./kingbase_monitor.sh stop
-----------------------------------------------------------------------
2022-07-29 16:31:57 KingbaseES automation beging...
2022-07-29 16:31:57 stop kingbasecluster [192.168.1.101] ...
......
2022-07-29 16:32:26 Done...
......................
all stop..
2、备份单实例data
[kingbase@node102 v8r3_290]$ mv data data.bk
3、拷贝集群data到单实例(适合数据量小环境)
[kingbase@node102 db]$ cp -r data /data/kingbase/v8r3_290/
[kingbase@node102 v8r3_290]$ chmod 700 data
4、启动单实例数据库
[kingbase@node102 bin]$ ./sys_ctl -D /data/kingbase/v8r3_290/data/ start
server starting
[kingbase@node102 bin]$ LOG: redirecting log output to logging collector process
HINT: Future log output will appear in directory "sys_log".
5、连接数据库访问
[kingbase@node102 bin]$ ./ksql -U SYSTEM -W 123456 TEST -p 54325
ksql (V008R003C002B0290)
Type "help" for help.
TEST=# select version();
VERSION
-------------------------------------------------------------------------------------------------------------------------
Kingbase V008R003C002B0290 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
TEST=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+--------------------
PROD | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
SAMPLES | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
SECURITY | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
TEMPLATE0 | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE1 | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE2 | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEST | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
TEST1 | SYSTEM | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(8 rows)
6、修改单实例kingbase.conf的data_diretory参数(适合数据量大环境)
=注意:对于数据量小的环境,可以直接拷贝集群的data到单实例下;但是对于数据量大的环境,迁移时间窗口和磁盘空间有限的情况下,可以直接修改单实例数据库的kingbase.conf文件的data_dirctory参数,将data目录指向原集群的data目录即可,无需拷贝,节省迁移时间。=
[kingbase@node102 data]$ cat kingbase.conf |grep data_directory
#data_directory = 'ConfigDir' # use data in another directory
三、总结
对于生产环境涉及到数据库服务的停止运行,所以要考虑申请停机窗口,对于数据量小的场景,可以直接拷贝集群data到单实例即可;对于大数据量的环境,cp数据会占用大量的时间,可以考虑直接修改单实例的kingbase.conf文件的data_directory参数,提高迁移的效率。
KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构的更多相关文章
- KingbaseES集群管理维护案例之---备库checkpoint分析
数据库异常关闭时,数据库关闭时来不及或者没机会做checkpoint,则需要从上一个一致性检查的开始恢复.KingbaseES备机checkpoint是不能产生checkpoint WAL日志条目 ...
- KingbbaseES V8R6集群维护案例之---集群之间数据迁移
案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...
- kingbaseES R3 集群备库转换为单实例库案例
案例说明: 在生产环境需要将集群中架构转换为单实例环境,本案例以备库转换为单实例库为案例,介绍了两种方案,一种在数据库数据量小的环境下采用 sys_dumpall 导出导入方式建立单实例库:另外一种是 ...
- 基于 Clusternet 与 OCM 打造新一代开放的多集群管理平台
背景 随着 5G.物联网设备的爆炸性增长以及智能终端不断增强的计算能力,带来了前所未有的数据量,传统的中心集中式计算捉襟见肘."新基建"战略的实施,工业互联网.车联网/自动驾驶.智 ...
- 整理全网最全K8S集群管理工具、平台
整理常见的整理全网最全K8S集群管理工具.平台解决方案. 1 Rancher Rancher中文官网:https://docs.rancher.cn/ 2 KubeSphere 官网:https:// ...
- 【MSP是什么】MSP认证之成功的项目群管理
同项目管理相比,项目群管理是为了实现项目群的战略目标与利益,而对一组项目进行的统一协调管理. 项目群管理 项目群管理是以项目管理为核心.单个项目上进行日常性的项目管理,项目群管理是对多个项目进行的总体 ...
- KingbaseES V8R3集群管理和维护案例之---failover切换wal日志变化分析
案例说明: 本案例通过对KingbaseES V8R3集群failover切换过程进行观察,分析了主备库切换后wal日志的变化,对应用者了解KingbaseES V8R3(R6) failover ...
- KingbaseES V8R3集群维护案例之---在线添加备库管理节点
案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...
随机推荐
- 开启网易邮箱客户端授权码-POP/SMTP/IMAP
打开网易邮箱首页 https://mail.163.com/ 登录邮箱. 点击上方设置,选择POP/SMTP/IMAP选项. 选择开启对应的协议,IMAP或者POP3分别为不同的收信协议 在新弹出的弹 ...
- application.yml 常用基本配置
前言 在平时的项目开发中,自己对application.yml的配置的写法较为熟悉,现在自己就application.yml常用的配置进行总结如下: 1.Tomcat 配置 server: #设置请求 ...
- 给妹子讲python-S01E01好用的列表
1.python中的容器数据类型概述2.列表类型的异构性.有序性和本地可变性三大优势2.列表的基本操作(增.删.改.分片索引)3.列表的分片赋值与本地排序 [妹子说]今天开始学python啦,不过我们 ...
- Nacos配置失败(java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all server)
解决: nacos服务器过载,可以删掉nacos文件夹下的data文件夹,重新启动.
- Pytorch从0开始实现YOLO V3指南 part3——实现网络前向传播
本节翻译自:https://blog.paperspace.com/how-to-implement-a-yolo-v3-object-detector-from-scratch-in-pytorch ...
- mvc Ensure that HttpConfiguration.EnsureInitialized()
The object has not yet been initialized. Ensure that HttpConfiguration.EnsureInitialized() is called ...
- MySQL--排序检索数据(ORDER BY)
检索出的数据并不是以纯粹的随机顺序显示的.如果不排序,数据一般将以它在底层表中出现的顺序显示.这可以是数据最初添加到表中的顺序.但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存 ...
- ICMP 介绍
简介 ICMP(Internet 控制报文协议,Internet Control Message Protocol , RFC 792).主要用于在IP主机与路由器之间传递控制消息,用于报告主机是否可 ...
- html + css 01: 3d立方体
html + css实现3d立方体 css代码 /*页面背景色*/ body{ background-color: black; background-repeat:no-repeat; } /*** ...
- Python下载网易云收藏
提前声明 仅作为个人学习使用,任何版权问题作者概不负责 本文的语言不会且不可能很严谨 博客园的编辑器有点BUG把我搞晕头了,所以本文可能有点鬼畜 前情 不知道各位有几个是对国内大厂的软件设计很满意的? ...