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:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...
随机推荐
- 揭秘GaussDB(for Redis):全面对比Codis
摘要:Codis集群在国内Redis生态圈很流行,社区已停止维护.本文从架构和特性两方面对比,带你感受华为云GaussDB(for Redis)的全新价值. 本文分享自华为云社区<华为云Gaus ...
- Python之枚举法解数学题
作为初二的学生,数学题总是令我苦恼的问题.尤其是我们这里的预备班考试(即我们这里最好的两所高中提前一年招生,选拔尖子生的考试)将近,我所面对的数学题越发令人头疼. 这不,麻烦来了: 如图,在正方形AB ...
- 解决github.com 的响应时间过长以及hosts配置不能保存的问题
github.com 的响应时间过长 1 获取github可以使用的DNS域名 DNS查询 选择TTL值最小的 2 修改hosts配置 打开之后在最后加上如下内容,保存即可 3 出现hosts不能保存 ...
- NC25136 [USACO 2006 Ope B]Cows on a Leash
NC25136 [USACO 2006 Ope B]Cows on a Leash 题目 题目描述 给定如图所示的若干个长条.你可以在某一行的任意两个数之间作一条竖线,从而把这个长条切开,并可能切开其 ...
- Codeforces Round #779 (Div. 2)
A 题目连接 题目大意 给一个01串,其中每一个长度大于等于2的子区间中0的数量不大于1的数量,最少插入多少1 思路 寻找 00 和 010 00 -->0110 加2 010 --&g ...
- 拥抱云原生 2.0 时代,Tapdata 入选阿里云首期云原生加速器!
3月9日,阿里云首期云原生加速器官宣,Tapdata 突出重围,成功入选31 强,将与多家行业知名企业,携手阿里云共建云原生行业新生态,加速拥抱云原生新时代的无限潜能. 2021年,阿里云正式 ...
- Detecting Rumors from Microblogs with Recurrent Neural Networks(IJCAI-16)
记录一下,很久之前看的论文-基于RNN来从微博中检测谣言及其代码复现. 1 引言 现有传统谣言检测模型使用经典的机器学习算法,这些算法利用了根据帖子的内容.用户特征和扩散模式手工制作的各种特征,或者简 ...
- 数论之欧几里德gcd
序:这篇博客我最开始学的时候写的,后来又学了一遍,自我感觉这篇好像有问题,扩展欧几里得建议走这边 首先先说,欧几里德一共有俩,欧几里德和扩展欧几里德,前者非常简单,后者直接变态(因为我太菜) gcd ...
- 体验SRCNN和FSRCNN两种图像超分网络应用
摘要:图像超分即超分辨率,将图像从模糊的状态变清晰. 本文分享自华为云社区<图像超分实验:SRCNN/FSRCNN>,作者:zstar. 图像超分即超分辨率,将图像从模糊的状态变清晰.本文 ...
- 简单使用 MySQL 索引
MySQL 索引 1 什么是索引 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令 MySQL 的查询和 运行更加高效. 如果合理的设计且使用索引的 MySQL 是一辆兰博基 ...