达梦数据库同步部署方案「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

达梦数据库同步部署方案

一、部署方案简述

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

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

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

1. 主服务器

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

2. 从服务器

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

3. 复制服务器(RPS)

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

三、部署方案

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

1. 准备工作

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

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

服务器 实例名 IP 地址 数据库端口号 MAL 端口号
复制服务器(数据库) JD_SERVER_212 192.168.7.212 5240 5241
局服务器(数据库) JD_SERVER_250 192.168.7.250 5240 5242
所服务器一(数据库) JD_SERVER_211 192.168.7.211 5240 5243
所服务器二(数据库) JD_SERVER_213 192.168.7.213 5240 5244

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_INTERVAL MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL 判定 MAL 链路断开的时间
MAL_INST_NAME 实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST MAL系统监听TCP连接的IP地址,即为当前机器的IP
MAL_PORT MAL系统监听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为对应的数据库实例端口

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181818.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号