达梦mpp+主备集群部署

        达梦大规模并行处理 MPP是基于达梦数据库管理系统研发的完全对等无共享式集群组件,支持将多个 DM 数据库实例组织为一个并行计算网络,对外提供统一的数据库服务。

安装前准备:

        本文分享如何在部署mpp+主备集群,准备3台虚拟机,并为每个节点配置双IP,两台节点交叉配置主备,一台配置监视器。

节点

心跳IP

服务IP

EP01/EP12(EP02备库)

193.168.33.128

193.168.23.128

EP02/EP11(EP01备库)

193.168.33.129

193.168.23.129

监视器

193.168.33.131

安装部署:

1、安装数据,并进行实例初始化,在节点一上初始化主库EP01和EP12(EP02的备库)。节点二上初始化主库EP02和EP11(EP01的备库),数据库安装步骤略,可翻阅以往博客

./dminit path=/dm/dmdata PAGE_SIZE=32 LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 PORT_NUM=5236 DB_NAME=EP01 INSTANCE_NAME=EP01
./dminit path=/dm/dmdata PAGE_SIZE=32 LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 PORT_NUM=5237 DB_NAME=EP12 INSTANCE_NAME=EP12
./dminit path=/dm/dmdata PAGE_SIZE=32 LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 PORT_NUM=5236 DB_NAME=EP02 INSTANCE_NAME=EP02
./dminit path=/dm/dmdata PAGE_SIZE=32 LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 PORT_NUM=5237 DB_NAME=EP11 INSTANCE_NAME=EP11

2、修改EP01和EP02的dm.ini文件

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
MPP_INI = 1 #启用 MPP 配置

3、配置 dmmal.ini,各主备库的 dmmal.ini 配置必须完全一致

MAL_CHECK_INTERVAL = 30 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 30 #判定 MAL 链路断开的时间
[MAL_INST1]
 MAL_INST_NAME = EP01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
 MAL_HOST = 192.168.33.128 #MAL 系统监听 TCP 连接的 IP 地址
 MAL_PORT = 5337 #MAL 系统监听 TCP 连接的端口
 MAL_INST_HOST = 192.168.23.128 #实例的对外服务 IP 地址
 MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
 MAL_DW_PORT = 5253 #实例对应的守护进程监听 TCP 连接的端口
 MAL_INST_DW_PORT = 5243 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
 MAL_INST_NAME = EP02
 MAL_HOST = 192.168.33.129
 MAL_PORT = 5337
 MAL_INST_HOST = 192.168.23.129
 MAL_INST_PORT = 5236
 MAL_DW_PORT = 5253
MAL_INST_DW_PORT = 5243
[MAL_INST3]
 MAL_INST_NAME = EP11
 MAL_HOST = 192.168.33.129
 MAL_PORT = 5338
 MAL_INST_HOST = 192.168.23.129
 MAL_INST_PORT = 5237
 MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244
[MAL_INST4]
 MAL_INST_NAME = EP12
 MAL_HOST = 192.168.33.128
 MAL_PORT = 5338
 MAL_INST_HOST = 192.168.23.128
 MAL_INST_PORT = 5237
 MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244

4、配置EP01的dmarch.ini,设置实时归档,EP02同理,ARCH_DEST指向各自备库

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/EP01
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = EP11 #实时归档目标实例名

5、生成dmmpp.ctl,先配置dmmpp.ini,mpp_seq_no不能相同再使用dmctlcvt 工具转换,工具在达梦数据库安装目录的bin路径下

[service_name1]
mpp_seq_no = 0
mpp_inst_name = EP01
[service_name2] 
mpp_seq_no = 1
mpp_inst_name = EP02

转换:./dmctlcvt type=2 src=/dm/dmdata/EP01/dmmpp.ini dest=/dm/dmdata/EP01/dmmpp.ctl

6、以mount方式启动EP01主库并设置oguid和修改模式,注意EP01和EP11的oguid相同,EP02和EP12的oguid相同,各自两两组成一个守护

sp_set_oguid(20210818);
alter DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

7、将dmmal.ini和 dmmpp.ctl发送到EP02上并配置归档

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/EP01
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = EP12 #实时归档目标实例名

8、以mount 方式启动EP02,并设置oguid和模式,注意oguid不同

sp_set_oguid(20210819);
alter DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

9、配置在EP02节点上的备库EP11,编辑dm.ini

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
MPP_INI = 1 #启用 MPP 配置

10、将dmmal.ini和 dmmpp.ctl发送到EP11上并配置归档

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/EP11
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = EP01#实时归档目标实例名

11、以mount方式启动备库EP11并设置oguid和数据库模式,注意oguid和EP01相同

sp_set_oguid(20210818);
alter DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

12、配置在节点EP01上的备库EP12,编辑dm.ini

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
MPP_INI = 1 #启用 MPP 配置

13、将dmmal.ini和 dmmpp.ctl复制到EP12上并配置归档

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/EP12
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = EP02#实时归档目标实例名

14、以mount方式启动备库EP12,并设置oguid和数据库模式

sp_set_oguid(20210819);
alter DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

15、配置数据守护,先在EP01上配置

[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 20210818 #守护系统唯一 OGUID 值
INST_INI = /dm/dmdata/EP01/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
[GRP2]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 20210819 #守护系统唯一 OGUID 值
INST_INI = /dm/dmdata/EP12/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

16、在EP02上的配置

[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 20210818 #守护系统唯一 OGUID 值
INST_INI = /dm/dmdata/EP11/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
[GRP2]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 20210819 #守护系统唯一 OGUID 值
INST_INI = /dm/dmdata/EP02/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

17、在第三台虚拟机配置两个监视器,一个确认监视器,一个非确认监视器,方便运维

MON_DW_CONFIRM = 1 #1为确认监视器模式
MON_LOG_PATH = /dm8/dmdba/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 20210818 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以—IP:PORT的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.33.128:5253
MON_DW_IP = 192.168.33.129:5254
[GRP2]
MON_INST_OGUID = 20210819 #组 GRP2 的唯一 OGUID 值
#以下配置为监视器到组 GRP2 的守护进程的连接信息,以—IP:PORT?的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.33.129:5253
MON_DW_IP = 192.168.33.128:5254

18、在EP01和EP02上分别注册守护进程服务

./dm_service_installer.sh -t dmwatcher -p EP1 -watcher_ini /dm/dmdata/EP01/dmwatcher.ini
./dm_service_installer.sh -t dmwatcher -p EP2 -watcher_ini /dm/dmdata/EP02/dmwatcher.ini

19、分别启动守护进程,并通过观察普通监视器确认集群状态是否正常

20、确认正常后注册监视器服务,并以服务方式启动

./dm_service_installer.sh -t dmmonitor -p EP -monitor_ini /dm8/dmdba/dmdbms/bin/dmmonitor0.ini
Systemctl start DmMonitorEP

 到此,dmmpp+主备集群部署分享完成

---------------------------------------------------------------------------------------------------------------------------------

更多技术干货请移步达梦技术社区:

https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值