文章目录
一、背景
达梦大规模并行处理 MPP(DM Massively Parallel Processing,缩写 DM MPP)是基于达梦数据库管理系统研发的完全对等无共享式集群组件,支持将多个 DM 数据库实例组织为一个并行计算网络,对外提供统一的数据库服务。
本实验在普通MPP集群的基础上,搭建有主备的MPP集群,来熟悉MPP原理和搭建过程。
二、实验要求
完成MPP集群的搭建,要求如下:
(1)完成MPP集群(带主备)的部署,并测试建表和插入数据是否会根据分布列进行自动分发。
(2)测试通过服务名连接MPP,连接可自动负载到不同节点。
(3)测试故障一个节点后,集群和持续提供服务。
三、实验步骤
1 集群规划
每个节点需要配置两块网卡,一块对外提供服务,另外一块作为内部通信。
表1服务器规划
服务器名 | IP地址 | 实例 | 实例目录 |
---|---|---|---|
MPP1 | 192.168.75.151 | EP01 | /dm8/data/ep01 |
1.1.1.21 | EP02_1 | /dm8/data/ep02_1 | |
MPP2 | 192.168.75.152 | EP02 | /dm8/data/ep02 |
1.1.1.22 | EP01_1 | /dm8/data/ep01_1 |
表2端口规划
实例名 | EP01 | EP02 |
---|---|---|
PORT_NUM | 5230 | 5230 |
MAL_INST_DW_PORT | 5231 | 5231 |
MAL_HOST | 1.1.1.21 | 1.1.1.22 |
MAL_PORT | 5232 | 5232 |
MAL_DW_PORT | 5233 | 5233 |
MPP 实例序号 | 0 | 1 |
表3备机规划
实例名 | EP01_1 | EP02_1 |
---|---|---|
PORT_NUM | 5234 | 5234 |
MAL_INST_DW_PORT | 5235 | 5235 |
MAL_HOST | 1.1.1.22 | 1.1.1.21 |
MAL_PORT | 5236 | 5236 |
MAL_DW_PORT | 5237 | 5237 |
对应主库 | EP01 | EP02 |
2 集群准备
初始化主库、备份数据并分别恢复到各自备库
EP01:
./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/ep01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/ep01_1/dm.ini' FROM BACKUPSET '/dm8/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/ep01_1/dm.ini' UPDATE DB_MAGIC"
EP02:
./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/ep02/dm.ini' FULL TO BACKUP_FILE2 BACKUPSET '/dm8/data/BACKUP_FILE_02'"
./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/ep02_1/dm.ini' FROM BACKUPSET '/dm8/data/BACKUP_FILE_02'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/ep02_1/dm.ini' UPDATE DB_MAGIC"
3 主节点EP01配置
3.1 dm.ini文件配置
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
INSTANCE_NAME = EP01
PORT_NUM = 5230 ##数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
MAL_INI = 1 ##打开MAL系统
ARCH_INI = 1 ##打开归档配置
MPP_INI = 1 ##启用MPP配置
RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息
3.2 dmmal.ini配置
dmmal.ini文件各个节点保持一致
MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = EP01 ##实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 1.1.1.21 ##MAL系统监听TCP连接的IP地址
MAL_PORT = 5232 ##MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.75.151 ##实例的对外服务IP地址
MAL_INST_PORT = 5230 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 5233 ##实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5231 ##实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = EP02
MAL_HOST = 1.1.1.22
MAL_PORT = 5232
MAL_INST_HOST = 192.168.75.152
MAL_INST_PORT = 5230
MAL_DW_PORT = 5233
MAL_INST_DW_PORT = 5231
[MAL_INST3]
MAL_INST_NAME = EP01_1
MAL_HOST = 1.1.1.22
MAL_PORT = 5236
MAL_INST_HOST = 192.168.75.152
MAL_INST_PORT = 5234
MAL_DW_PORT = 5237
MAL_INST_DW_PORT = 5235
[MAL_INST4]
MAL_INST_NAME = EP02_1
MAL_HOST = 1.1.1.21
MAL_PORT = 5236
MAL_INST_HOST = 192.168.75.151
MAL_INST_PORT = 5234
MAL_DW_PORT = 5237
MAL_INST_DW_PORT = 5235
3.3 dmarch.ini配置
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME ##实时归档类型
ARCH_DEST = EP01_1 ##实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL ##本地归档类型
ARCH_DEST =