DMDPC集群部署:Windows单机环境部署一个最小化的DMDPC集群
|
🌺The Begin🌺点点关注,收藏不迷路🌺
|
前言
DMDPC(Dameng Distributed Processing Cluster)是达梦数据库的分布式计算集群解决方案,能够实现大规模数据的分布式处理和计算。本文将详细介绍如何在单机环境下通过命令行工具部署一个最小化的DMDPC集群,包含1个SP(服务节点)、2个BP(计算节点)和1个MP(管理节点)。
一、DMDPC集群架构概述
一个最小的DMDPC集群包含以下组件:
- MP(Management Point):管理节点,负责集群管理和协调
- SP(Service Point):服务节点,对外提供数据库服务
- BP(Backend Point):计算节点,负责实际的数据处理和计算
建议至少部署2个BP节点,这样可以更好地观察子任务的计划形态和调度情况。
二、环境准备
本文以Windows环境为例(Linux环境部署步骤相同),在同一台主机上部署所有组件。实际IP地址请根据您的环境进行调整。
集群规划
| RAFT组名 | 角色 | 实例名 | IP | PORT | AP_PORT_NUM | 数据路径 |
|---|---|---|---|---|---|---|
| RAFT_SP1 | SP | SP1 | 127.0.0.1 | 5240 | 6000 | D:\dmdbms\data\sp1 |
| RAFT_1 | BP | BP1 | 127.0.0.1 | 5241 | 6001 | D:\dmdbms\data\bp1 |
| RAFT_2 | BP | BP2 | 127.0.0.1 | 5242 | 6002 | D:\dmdbms\data\bp2 |
| MP_RAFT | MP | MP | 127.0.0.1 | 5243 | 6003 | D:\dmdbms\data\mp |
三、详细部署步骤
3.1 初始化数据库实例
首先需要初始化4个数据库实例:
dminit path=D:\dmdbms\data\sp1 instance_name=SP1 port_num=5240 ap_port_num=6000 dpc_mode=SP SYSDBA_PWD=Zyl@123456 SYSAUDITOR_PWD=Zyl@123456
dminit path=D:\dmdbms\data\bp1 instance_name=BP1 port_num=5241 ap_port_num=6001 dpc_mode=BP SYSDBA_PWD=Zyl@123456 SYSAUDITOR_PWD=Zyl@123456
dminit path=D:\dmdbms\data\bp2 instance_name=BP2 port_num=5242 ap_port_num=6002 dpc_mode=BP SYSDBA_PWD=Zyl@123456 SYSAUDITOR_PWD=Zyl@123456
dminit path=D:\dmdbms\data\mp instance_name=MP port_num=5243 ap_port_num=6003 dpc_mode=MP SYSDBA_PWD=Zyl@123456 SYSAUDITOR_PWD=Zyl@123456

3.2 配置MP.INI文件
为每个实例配置MP.INI文件,指定管理节点的地址和端口:
# SP1配置
echo mp_host = 127.0.0.1 >D:\dmdbms\data\sp1\DAMENG\mp.ini
echo mp_port = 9000 >>D:\dmdbms\data\sp1\DAMENG\mp.ini
# BP1配置
echo mp_host = 127.0.0.1 >D:\dmdbms\data\bp1\DAMENG\mp.ini
echo mp_port = 9000 >>D:\dmdbms\data\bp1\DAMENG\mp.ini
# BP2配置
echo mp_host = 127.0.0.1 >D:\dmdbms\data\bp2\DAMENG\mp.ini
echo mp_port = 9000 >>D:\dmdbms\data\bp2\DAMENG\mp.ini
# MP配置
echo mp_host = 127.0.0.1 >D:\dmdbms\data\mp\DAMENG\mp.ini
echo mp_port = 9000 >>D:\dmdbms\data\mp\DAMENG\mp.ini
sp、mp、bp的所有节点都需要配置以下内容:
mp_host = 127.0.0.1
mp_port = 9000
3.3 启动管理节点(MP)
dmserver D:\dmdbms\data\mp\DAMENG\dm.ini dpc_mode=MP

注意:DMDPC运行过程中,MP需要始终处于开启状态。
3.4 将节点加入集群
使用disql连接MP实例,并执行以下SQL命令注册各节点:
-- 连接MP,必须登录 MP 进行操作
D:\dmdbms\bin>disql SYSDBA@127.0.0.1:5243
-- 注册MP节点
SP_CREATE_DPC_INSTANCE(NULL,'MP','MP',6003,5243, '127.0.0.1', '127.0.0.1','NORMAL',1,'MP instance');
-- 注册BP1节点
SP_CREATE_DPC_RAFT('BP','RAFT_1');
SP_CREATE_DPC_INSTANCE('RAFT_1','BP1','BP',6001,5241, '127.0.0.1', '127.0.0.1','NORMAL',1,'BP instance');
-- 注册BP2节点
SP_CREATE_DPC_RAFT('BP', 'RAFT_2');
SP_CREATE_DPC_INSTANCE('RAFT_2','BP2','BP',6002,5242, '127.0.0.1', '127.0.0.1', 'NORMAL', 1, 'BP instance');
-- 创建BP组并添加RAFT组
SP_CREATE_DPC_BP_GROUP('BG_1', 'bp group1');
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_1');
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_2');
-- 注册SP节点
SP_CREATE_DPC_RAFT('SP', 'RAFT_SP1');
SP_CREATE_DPC_INSTANCE('RAFT_SP1','SP1','SP',6000,5240, '127.0.0.1', '127.0.0.1','NORMAL', 2, 'SP instance');
-- 可选:创建容错域
SP_CREATE_FAULT_DOMAIN ('FDOM_1','shanghai');
SP_FAULT_DOMAIN_MV_INST('FDOM_1','MP');
SP_FAULT_DOMAIN_MV_INST('FDOM_1','BP1');
SP_FAULT_DOMAIN_MV_INST('FDOM_1','BP2');
重要提示:将SP和BP节点加入DMDPC集群中的步骤必须在SP、BP第一次启动前完成!

3.5 验证注册结果
-- 检查BP组
select * from DPC_BP_GROUP;
-- 检查RAFT组
select * from DPC_BP_RAFT;
-- 检查实例
select * from DPC_INSTANCE;



3.6 启动SP和BP节点
-- 启动SP
dmserver D:\dmdbms\data\sp1\DAMENG\dm.ini dpc_mode=SP
-- 启动BP
dmserver D:\dmdbms\data\bp1\DAMENG\dm.ini dpc_mode=BP
dmserver D:\dmdbms\data\bp2\DAMENG\dm.ini dpc_mode=BP
四、集群验证
DMDPC搭建完成后,用户只需要连接对外提供服务的SP即可获得完整的数据库服务。
-- 连接SP
D:\dmdbms\bin>disql SYSDBA@127.0.0.1:5240
-- 验证集群状态
select * from V$instance;

重要提示:
- 只有出于监控或维护需要时,才允许直连MP和BP
- 切勿在MP和BP上执行大量SQL语句,否则可能会导致系统崩溃
- MP、SP、BP 全部正常启动,且均处于 OPEN 状态,才是一个正常的 DMDPC 系统!
五、集群退出顺序
当需要关闭DMDPC集群时,必须按照以下顺序操作:
- 首先退出SP
- 然后退出BP
- 最后退出MP
警告:如果没有按正常顺序退出,可能会导致剩下的机器直接宕机。此时只能强制终止进程。这种异常退出情况在再次重启时,服务器需要做大量的REDO日志恢复,因此重启时间会较长。
六、常见问题
- BP不可用:当BP处于非OPEN状态、尚未成功启动或宕机时,系统会报错"无效的系统状态"
- 启动顺序:MP、SP、BP全部正常启动且均处于OPEN状态,才是一个正常的DMDPC系统
- 端口冲突:确保MP.INI中配置的mp_port与各实例的ap_port_num不冲突
结语
通过本文的步骤,您已经成功搭建了一个最小化的DMDPC集群。在实际生产环境中,您可以根据需要扩展更多的BP节点来提高计算能力。达梦分布式计算集群为大规模数据处理提供了强大的支持,希望本文能帮助您顺利部署和使用DMDPC。
如果您在部署过程中遇到任何问题,欢迎在评论区留言讨论。

|
🌺The End🌺点点关注,收藏不迷路🌺
|
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/qq_41840843/article/details/148511511




