注册
DMDPC分布式计算集群部署
技术分享/ 文章详情 /

DMDPC分布式计算集群部署

wangbw1009 2026/03/13 388 0 0

DMDPC分布式计算集群

一个完整的DMDPC架构由计划生成节点SP、数据存储节点BP和元数据服务器节点MP 三部分组成。

  1. 计划生成节点
    SQL Processor简称SP ,SP为DMDPC集群中对外提供数据库服务的节点,负责接收用户请求并生成计划、划分子计划、按照一定规则计算并行度并调度各个子计划,并将执行结果返回给用户。
    SP节点不存储任何数据字典信息和用户数据。支持动态增删节点。
  2. 数据存储节点
    Backend Processor 简称BP。BP为集群中数据实际存储的节点,负责存储数据和接受SP的子任务调度指令,执行子任务,并返回结果给SP。
  3. 元数据服务器节点
    元数据服务器节点,英文全称为Metadata Processor,简称MP。MP为DMDPC集群提供元数据服务(即字典信息服务)的节点。所有DDL请求都会经过SP转发给MP执行,元数据信息全部存储在MP。
    image.png

本文只讨论分布式DMDPC集群的单机部署。
具体架构为一个SP,两个BP和一个MP。其中,BP采用单机模式,未配置为多副本系统。

1.部署前规划
image.png
2.部署步骤
01.初始化数据库实例
初始化四个数据库实例,实例名称分别为SP1、BP1、BP2和MP。

dminit path=/dmdba/instance  DB_NAME=SP0 INSTANCE_NAME=SP1  port_num=6236 ap_port_num=6000 dpc_mode=SP SYSDBA_PWD=Wangbowen123!  SYSAUDITOR_PWD=Wangbowen123!
dminit path=/dmdba/instance  DB_NAME=BP1 INSTANCE_NAME=BP1  port_num=6237 ap_port_num=6001 dpc_mode=BP SYSDBA_PWD=Wangbowen123!  SYSAUDITOR_PWD=Wangbowen123!
dminit path=/dmdba/instance  DB_NAME=BP2 INSTANCE_NAME=BP2  port_num=6238 ap_port_num=6002 dpc_mode=BP SYSDBA_PWD=Wangbowen123!  SYSAUDITOR_PWD=Wangbowen123!
dminit path=/dmdba/instance  LOG_SIZE=300 DB_NAME=MP0 instance_name=MP   port_num=6239 ap_port_num=6003 dpc_mode=MP SYSDBA_PWD=Wangbowen123!  SYSAUDITOR_PWD=Wangbowen123!

02.配置MP.ini文件
四个实例目录分别创建mp.ini,写入的内容相同
写入MP.INI文件内容如下:

mp_host = 10.10.122.21  
mp_port = 9000       #与MP、BP和SP上的ap_port_num不冲突的端口号

image.png
03.启动MP
配置MP服务,DMDPC运行过程中,MP需要始终处于开启状态

dmserver /dmdba/instance/MP0/dm.ini dpc_mode = MP

04.注册实例
[dmdba@dmfj ~]$ disql sysdba/‘Wangbowen123!’@10.10.122.21:6239

//增加MP节点 
//注册当前MP实例,MP的RAFT组名可以指定为NULL或者‟MP_RAFT‟ 
SP_CREATE_DPC_INSTANCE('MP_RAFT','MP','MP',6003,6239, '10.10.122.21', '10.10.122.21','NORMAL',1,'MP instance'); 

//MP_RAFT 组名
//MP 组内标识(多节点就是MP1 MP2 MP3)
//MP DPC实例名
//MAL_PORT机器的端口号
//实例端口号
//内网IP
//外网IP
//冗余模式
//节点数
//备注

//增加两个BP节点:BP1和BP2 
//注册RAFT组,名为RAFT_1 
SP_CREATE_DPC_RAFT('BP','RAFT_1'); 
//在RAFT_1组内注册BP实例BP1 
SP_CREATE_DPC_INSTANCE('RAFT_1','BP1','BP',6001,6237, '10.10.122.21', '10.10.122.21','NORMAL',1,'BP instance'); 
 
//注册RAFT_2 
SP_CREATE_DPC_RAFT('BP', 'RAFT_2'); 
//在RAFT_2内注册BP实例BP2 
SP_CREATE_DPC_INSTANCE('RAFT_2','BP2','BP',6002,6238, '10.10.122.21', '10.10.122.21', 'NORMAL', 1, 'BP instance'); 

 
//注册一个BP组,名为BG_1 
SP_CREATE_DPC_BP_GROUP('BG_1', 'bp group1'); 
//往BP组中添加RAFT组 
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_1'); 
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_2'); 
 
//增加SP节点:SP1 
//增加SP,也要注册RAFT组 
SP_CREATE_DPC_RAFT('SP', 'RAFT_SP1'); 
//在RAFT_SP1内注册SP实例SP1 
SP_CREATE_DPC_INSTANCE('RAFT_SP1','SP1','SP',6000,6236, '10.10.122.21', '10.10.122.21','NORMAL', 2, 'SP instance');

image.png
image.png
05.启动各个节点

启动SP和BP
dmserver /dmdba/instance/SP0/dm.ini dpc_mode=SP
dmserver /dmdba/instance/BP1/dm.ini dpc_mode=BP
dmserver /dmdba/instance/BP2/dm.ini dpc_mode=BP
MP启动方式:
dmserver /dmdba/instance/MP0/dm.ini dpc_mode=MP

3.查看节点状态

[dmdba@dmfj ~]$ disql sysdba/'Wangbowen123!'@10.10.122.21:6236
select * from v$instance;

image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服