KingbaseES集群运维案例之---集群架构拆分为单实例操作

KingbaseES集群运维案例之---集群架构拆分为单实例操作 KingbaseES集群运维案例之—集群架构拆分为单实例操作文章目录KingbaseES集群运维案例之---集群架构拆分为单实例操作**一、集群节点信息****1、集群节点状态****2、流复制状态**二、拆分集群节点管理**1、暂停主备节点repmgrd服务****2、注销备库节点注册**3、停止备库节点数据库服务4、注销主库节点注册**三、拆分流复制架构****1、查看复制槽信息****2、删除备库复制槽需先关闭备库数据库服务****四、修改流复制配置****1、修改synchronous_commit参数主备库****2、删除或注释集群连接串和复制槽配置****3、禁用kbha进程的启动项****五、总结**案例说明生产环境将原KingbaseES V8R6集群架构拆分为单实例环境以下为具体的操作步骤。适用版本KingbaseES V8R6一、集群节点信息1、集群节点状态[kingbasenode202 bin]$ ./repmgr cluster show....... ID|Name|Role|Status|Upstream|Location|Priority|Timeline|LSN_Lag|Connection string ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1|node1|primary|* running||default|100|41||host192.168.1.201useresrepdbnameesrepport54321connect_timeout10keepalives1keepalives_idle10keepalives_interval1keepalives_count3tcp_user_timeout90002|node2|standby|running|node1|default|100|41|0bytes|host192.168.1.202useresrepdbnameesrepport54321connect_timeout10keepalives1keepalives_idle10keepalives_interval1keepalives_count3tcp_user_timeout90002、流复制状态test# select * from sys_stat_replication;pid|usesysid|usename|application_name|client_addr|client_hostname|client_port|ba ckend_start|backend_xmin|state|sent_lsn|write_lsn|flush_lsn|replay_lsn|write_l ag|flush_lag|replay_lag|sync_priority|sync_state|reply_time --------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------2385|16384|esrep|node2|192.168.1.202||58911|2024-06-1714:28:36.61519508||streaming||2/81000EC8|2/81000EC8|2/81000EC8||||1|sync|2024-06-1714:29:13.82622308(1row)二、拆分集群节点管理1、暂停主备节点repmgrd服务[kingbasenode201 bin]$ ./repmgrservicepause[kingbasenode201 bin]$ ./repmgrservicestatus ID|Name|Role|Status|Upstream|repmgrd|PID|Paused?|Upstream last seen -------------------------------------------------------------------------------------1|node1|primary|* running||running|2334|yes|n/a2|node2|standby|running|node1|running|2618|yes|0second(s)ago2、注销备库节点注册[kingbasenode202 bin]$ ./repmgr standby unregister[kingbasenode202 bin]$ ./repmgr cluster show ID|Name|Role|Status|Upstream|Location|Priority|Timeline|LSN_Lag|Connection string ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1|node1|primary|* running||default|100|41||host192.168.1.201useresrepdbnameesrepport54321connect_timeout10keepalives1keepalives_idle10keepalives_interval1keepalives_count3tcp_user_timeout90003、停止备库节点数据库服务[kingbasenode202 bin]$ ./sys_ctl stop -D …/data删除备库standby.signal文件[kingbasenode202 data]$ls-lhstandby.signal -rw-------1kingbase kingbase20Jun1215:33 standby.signal[kingbasenode202 data]$mvstandby.signal standby.signal.bk4、注销主库节点注册[kingbasenode201 bin]$ ./repmgr primary unregister--force[kingbasenode201 bin]$ ./repmgr cluster show[ERROR]nonoderecords were found[HINT]ensure at least onenodeis registered三、拆分流复制架构1、查看复制槽信息test# select * from sys_replication_slots;slot_name|plugin|slot_type|datoid|database|temporary|active|active_pid|xmin|catalo g_xmin|restart_lsn|confirmed_flush_lsn ------------------------------------------------------------------------------------------------- ----------------------------------------- repmgr_slot_2||physical|||f|f||15499||2/81001C48|(1row)2、删除备库复制槽需先关闭备库数据库服务test# select sys_drop_replication_slot(repmgr_slot_2);sys_drop_replication_slot(repmgr_slot_2)--------------------------------------------(1row)test# select * from sys_replication_slots;slot_name|plugin|slot_type|datoid|database|temporary|active|active_pid|xmin|catalog_xmin|restart_lsn|confirmed_flush_lsn ------------------------------------------------------------------------------------------------- ------------------------------------(0rows)四、修改流复制配置1、修改synchronous_commit参数主备库# 可以修改kingbase.conf或kingbase.auto.conf、es_rep.conf配置test# show synchronous_commit ;synchronous_commit -------------------- remote_apply(1row)test# alter system set synchronous_commiton;ALTER SYSTEMtest# select sys_reload_conf();sys_reload_conf()------------------- t(1row)test# show synchronous_commit ;synchronous_commit -------------------- on(1row)2、删除或注释集群连接串和复制槽配置[kingbasenode202 data]$catkingbase.auto.conf# Do not edit this file manually!# It will be overwritten by the ALTER SYSTEM command........ primary_conninfouseresrep connect_timeout10 host192.168.1.201 port54321 keepalives1 keepalives_idle10 keepalives_interval1 keepalives_count3 tcp_user_timeout9000 application_namenode2primary_slot_namerepmgr_slot_23、禁用kbha进程的启动项[rootnode201 ~]# cat /etc/cron.d/KINGBASECRON#*/1 * * * * kingbase . /etc/profile;/home/kingbase/cluster/R6/R6HA/kingbase/bin/kbha -A daemon -f /home/kingbase/cluster/R6/R6HA/kingbase/bin/../etc/repmgr.conf五、总结完成以上操作步骤后将原集群架构拆分为两个独立的单实例环境支持RW)对于原集群管理的目录及配置可以清理或保存并不影响实例的正常运行。然后再启动单机f /home/kingbase/cluster/R6/R6HA/kingbase/bin/…/etc/repmgr.conf## **五、总结** 完成以上操作步骤后将原集群架构拆分为两个独立的单实例环境支持RW)对于原集群管理的目录及配置可以清理或保存并不影响实例的正常运行。 **然后再启动单机** **重点是数据不要动**