注册
DPC分布式集群部署详细步骤
培训园地/ 文章详情 /

DPC分布式集群部署详细步骤

Yar 2024/11/20 423 1 0

达梦分布式集群DPC部署详细步骤

1 DPC介绍

部署前先简单介绍一下DPC,方便后续部署时能正确理解

1.1 DPC架构

DMDPC 架构由三部分组成
SP(SQL Processor):计算节点
MP(Metadata Processor):元数据节点
BP(Backend Processor):数据存储节点

SP
①对外提供分布式数据库服务,用户可以登录到任意一个 SP 节点,获得
完整的数据库服务;
②不存储数据,所以SP都是单机,可以横向扩展(多个SP节点),不能多副本;

BP
①负责存储表真实数据,一般是多副本;
②执行 SP 的调度指令并将执行结果返回给 SP;

MP
①负责存储元数据(表结构等信息),一般是多副本;
②向 SP、BP 提供元数据服务;

1.2 多副本概念

DPC基于 RAFT 协议实现了一套全新的达梦多副本(DM Multiple Copy)系统架构。
类似于主备系统,主库挂了备库能立即切换为主,实现高可用性;

例如:
①单机架构
image.png

Ⅰ.其中BP节点可以横向扩展(MP不行),比如新增BP3,4,5...,BP越多,表数据分配到所有BP节点后,能利用的资源越多,性能就越高;

这里举个例子:
一个分区表TEST,通过ID列做HASH分区,分成5个子表,建表语句为:

create table TEST( "ID" INT, "NAME" VARCHAR2(20), ) PARTITION BY HASH("ID") PARTITIONS 5;

如果把5个子表分配到5个BP上,那么通过ID列去查询数据时,就能利用5台服务器资源;

Ⅱ.单机架构MP和BP都只有一份数据,如果其中一个节点发生故障,整个集群就不能正常提供服务,所以可以部署多副本架构,给MP和BP1,BP2都新增两个副本;

②多副本架构
image.png
新增备库后,当主库BP1实例挂掉,BP1_备1或者BP1_备2就能选举为主库来提供服务,实现高可用性

注意
这里涉及一个RAFT组的概念:
①比如这里的BP1,BP1_备1,BP1_备2就构成一个RAFT组(MP和BP2同理),它们数据完全一致,一个RAFT组内的实例数据完全相同;
②一个RAFT组内只有一个为主库提供服务;
③类似于一个RAFT组 = 一个主备系统(RAFT内是异步同步);

2 DPC部署步骤

本文描述DEM图形化进行DPC部署,DPC节点多,不建议命令行进行部署

2.1 DEM搭建

dem搭建参考链接:
https://eco.dameng.com/community/training/101a306383a8864ffd9c46e0d0734076

里面详细介绍了DEM的搭建步骤,dem能识别每台服务器后,就可以开始进行DPC集群部署
比如我需要在2台服务器上部署DPC集群,DEM监控如图:
image.png

2.2 DPC搭建

2.2.1 架构规划

部署DPC时候前期一定要规划好实例分布,注意几个方面
①一个集群只能有一个MP(可多副本);
②BP和MP的副本数最多为9,多副本系统内的节点数必须是大于等于 3 的奇数;
BP和MP需要交叉副本,防止一个服务器挂掉,副本全宕机,整个集群不能正常使用;
④SP没有副本,只能横向扩展;

比如提供了8台服务器,需要3SP,1MP,5BP的3副本架构,可以如下图分布:
image.png
图中A是主库,B、C是副本

2.2.2 搭建步骤

我以2台服务器,搭建1SP,2BP,1MP的3副本架构为例
部署架构规划为
image.png
其中A是主库,B、C是副本
BP1属于一个RAFT组,BP2属于一个RAFT组

①配置集群搭建基础信息
image.png
可以按顺序操作,配置好搭建名称后点击下一步

②选择集群类型
image.png
选择部署分布式集群,点击下一步

③环境准备
image.png
选择全部的DPC服务器
④实例规划(重要)

image.png
指定工作目录后,部署成功的所有的执行码bin目录和实例目录都会创建到工作目录中;
建议取消勾选独立执行码,防止多个启动目录(bin),不方便后续管理;
如果不会建DPC的表空间可以指定创建混合表空间;

点击添加实例,按之前规划好的实例来进行添加
添加SP在服务器1
image.png
添加MP在两个服务器
继续点击添加,添加成功MP后如图:
image.png
添加2个BP在两个服务器
继续点击添加,添加完所有BP和MP副本后如图:
特别注意:
添加第二个RAFT组BP2_*时,记得改RAFT组名,在添加BP时可以修改;
图上BP1_*属于RAFT_1组,BP2_*属于RAFT_2组,同一个组内数据完全相同;
image.png
端口号我喜欢用DEM设置的默认值,大家可以按需修改,只要同一个服务器上端口不冲突就行

添加完所有实例后,可以对照之前的实例规划表格,确定是否全部一致,一致可以点击下一步

⑤BP组和BP域配置(非必须配置)
image.png
如果没有需求,可以跳过继续点击下一步
⑥地域、数据中心和容错域配置(非必须配置)
image.png
如果没有需求,可以跳过继续点击下一步
⑦初始化参数配置
image.png
注意初始化参数确定后,后续部署成功不能修改,只能重搭集群

⑧数据库参数配置(可以使用默认值,后续使用中按需修改)
image.png
⑨dmarch.ini,归档配置
image.png
注意归档建议调整最大值,防止后续归档日志把磁盘空间占满
调整后,点击应用到其他所有实例(小心别应用了没改过的参数到全部),应用后可以进行一遍
image.png
⑩上传服务器文件
这一步是上传执行码文件到每台DPC服务器,我习惯手动scp执行码bin目录到每台服务器的固定目录下
然后
第一步选中 各节点已部署达梦数据库服务器文件
第二步填写执行码目录为每台服务器下的真实执行码目录(scp的bin目录)
image.png
最终再检查一遍全部部署信息,点击保存并执行就开始部署了
image.png
部署成功可以添加到监控,就能可以正常使用DPC集群了
image.png
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服