达梦数据库同步部署方案

达梦数据库同步部署方案

一、部署方案简述

​ 达梦数据复制(DATA REPLICATION)是一个分担系统访问压力、加快异地访问响应速度、提高数据可靠性的解决方案。将一个服务器实例上的数据变更复制到另外的服务器实例。可以用于解决大、中型应用中出现的因来自不同地域、不同部门、不同类型的数据访问请求导致数据库服务器超负荷运行、网络阻塞、远程用户的数据响应迟缓的问题。

​ 服务部署采用分级部署,各地采用独立数据库,各所与局之间进行部分数据同步。

二、部署中涉及到的重要概念

1. 主服务器

发起复制操作的服务器,称为主服务器。

2. 从服务器

接收主服务器发送的数据并进行复制的服务器,称为从服务器。

3. 复制服务器(RPS)

在数据复制环境中,负责配置复制环境,定义复制关系的服务器。 RPS 有且仅有一台,它只负责配置和监控,并不参与到复制过程中。

三、部署方案

配置数据复制在 RPS (复制服务器)上进行。在配置数据复制之前,需要保证复制服务器和所有待配置节点的实例名各不相同,配置好其 MAL 系统并保证网络环境正常。按照复制组、复制关系、复制表映射的顺序配置复制环境。

1. 准备工作

首先准备一台复制数据库,三台需要数据同步的数据库(一个局级数据库,两个所级数据库,这个数据库的数量按照实际需求来)。这里默认所有的数据库已经安装完毕。

参与复制的数据库信息如下:

服务器实例名IP 地址数据库端口号MAL 端口号
复制服务器(数据库)JD_SERVER_212192.168.7.21252405241
局服务器(数据库)JD_SERVER_250192.168.7.25052405242
所服务器一(数据库)JD_SERVER_211192.168.7.21152405243
所服务器二(数据库)JD_SERVER_213192.168.7.21352405244
2. 修改dm.ini配置文件

修改对应数据库实例的dm.ini配置文件如下:

数据库dm.ini 设置
复制服务器(数据库)INSTANCE_NAME = JD_SERVER_212 PORT_NUM = 5240 MAL_INI = 1
局服务器(数据库)INSTANCE_NAME = JD_SERVER_250 PORT_NUM = 5240 MAL_INI = 1
所服务器一(数据库)INSTANCE_NAME = JD_SERVER_211 PORT_NUM = 5240 MAL_INI = 1
所服务器二(数据库)INSTANCE_NAME = JD_SERVER_213 PORT_NUM = 5240 MAL_INI = 1

参数解释:

MAL_INI = 1 #打开MAL系统

注意,复制服务器所在数据库不能参与复制,应该是一个单独的数据库或者数据库实例。

3. 修改dmmal.ini 配置文件
MAL_CHECK_INTERVAL = 2
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = JD_SERVER_212                              
MAL_HOST = 192.168.7.212
MAL_PORT = 5241
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.212
[MAL_INST2]
MAL_INST_NAME = JD_SERVER_250
MAL_HOST = 192.168.7.250
MAL_PORT = 5242
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.250
[MAL_INST3]
MAL_INST_NAME = JD_SERVER_211
MAL_HOST = 192.168.7.211
MAL_PORT = 5243
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.211
[MAL_INST4]
MAL_INST_NAME = JD_SERVER_213
MAL_HOST = 192.168.7.213
MAL_PORT = 5244
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.213

每个节点的 dmmal.ini 配置必须一致,一个节点配置好后可直接拷贝到另外两个节点。

参数解释:

参数解释
MAL_CHECK_INTERVALMAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL判定 MAL 链路断开的时间
MAL_INST_NAME实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOSTMAL系统监听TCP连接的IP地址,即为当前机器的IP
MAL_PORTMAL系统监听TCP连接的端口,每个实例必须不一样
MAL_INST_HOST实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_INST_PORT实例对应的守护进程监听 TCP 连接的端口
4. 复制服务器初始化

​ 通过执行系统函数SP_INIT_REP_SYS(create_flag)来初始化复制服务器。其主要作用是创建复制用户(SYSREP/SYSREP)和创建复制服务器上需要的系统表。SP_INIT_REP_SYS 的参数create_flag 为 1 时表示创建用户和系统表,为 0 时表示删除用户和系统表。

执行示例

SP_INIT_REP_SYS(1);
5.环境初始化

以上工作完成后,即可进行复制环境的配置了。

  1. 重新启动以上所有数据库,启动的顺序不分先后。

  2. 登录复制服务器数据库,保证服务器状态为 OPEN,开始复制配置。

  3. 创建复制组: REP_GRP_JD ,执行如下语句:

SP_RPS_ADD_GROUP('REP_GRP_JD', '主从同步复制');
6.在数据同步服务中执行初始化

部署数据同步服务,比如服务所在ip为30.29.5,那么可以调用如下接口执行初始化配置关系:

post 30.29.5:8090/strategy/init?defalutIp=192.168.7.250&defalutPort=5240

defaultIp指局数据库ip,defalutPort为对应的数据库实例端口

至此,数据库同步服务部署完成。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值