DPC 带副本集群部署报告
两台服务器、两个三副本 RAFT 组的部署与验收步骤1 部署目标与架构本文记录 DM8 DPC 带副本集群的部署过程。环境由两台服务器组成部署 1 个 MP、1 个 SP 和 6 个 BP6 个 BP 划分为 RAFT_1、RAFT_2 两个三副本组。最终完成分布式对象创建、数据分布验证、主 BP 故障自动选主以及恢复节点重加入验收。图 A DPC 带副本集群逻辑拓扑主机IP实例与端口DPC01192.168.100.150SP1:5236BP11:5238BP12:5239BP21:5241DPC02192.168.100.151MP:5237BP13:5240BP22:5242BP23:5243软件目录统一为 /dm8实例根目录为 /dm8/dpc。AP 端口分别为 60006007MP 额外使用 9000 监听管理连接。部署前检查确认两台主机时间同步、主机名和 IP 固定、相关端口未占用、/dm8 目录权限正确、两机可以互通。公开文章中的密码、许可证和敏感地址应使用占位符。2 实例初始化在 DPC01 初始化 SP1、BP11、BP12、BP21在 DPC02 初始化 MP、BP13、BP22、BP23。初始化前确保实例名、PORT_NUM、AP_PORT_NUM 和目录不重复。密码等敏感参数建议通过交互或安全配置提供不在公开文章中明文展示。初始化完成后不要直接批量启动。先逐个检查 dm.ini 中的实例名和端口并用系统工具确认计划端口没有被其他进程监听。建议把检查结果保存为端口矩阵后续注册拓扑和配置 RAFT 时继续使用同一份数据。图 1 初始化 DPC01 上的四个实例图 2 初始化 DPC02 上的四个实例实例PORT_NUMAP_PORT_NUM目录SP152366000/dm8/dpc/sp1/DAMENGMP52376001/dm8/dpc/mp/DAMENGBP1152386002/dm8/dpc/bp11/DAMENGBP1252396003/dm8/dpc/bp12/DAMENGBP1352406004/dm8/dpc/bp13/DAMENGBP2152416005/dm8/dpc/bp21/DAMENGBP2252426006/dm8/dpc/bp22/DAMENGBP2352436007/dm8/dpc/bp23/DAMENG3 启动 MP 并创建拓扑/dm8/bin/dmserver /dm8/dpc/mp/DAMENG/dm.ini dpc_modeMP确认 MP 数据库端口 5237、AP 端口 6001 以及管理监听 9000 正常后连接 MP 注册两个 RAFT 组、六个 BP、一个 BP 组和 SP1。注册顺序建议为实例 → RAFT → BP 组 → SP RAFT。如果注册命令返回成功但查询数量不正确应先检查实例名称大小写、主机 IP、数据库端口和 AP 端口再检查对象创建顺序。不要在元数据不完整时继续启动全部 BP否则后续错误会叠加。图 3 在 DPC02 启动元数据节点 MP图 4 确认 MP 启动信息及监听状态图 5 创建 RAFT_1 并注册三个 BP 副本图 6 创建 RAFT_2 并注册三个 BP 副本图 7 创建 BP 组并加入两个 RAFT 组图 8 创建 SP 的 RAFT 组并注册 SP1注册完成后分别检查实例数量、RAFT 组和 BP 组避免漏注册或成员归属错误。图 9 检查 DPC 实例总数图 10 检查 RAFT 组注册结果图 11 检查 BP 组注册结果4 准备两个 RAFT 的同源数据RAFT_1 以 BP11 为源库RAFT_2 以 BP21 为源库。先启动两个源 BP 到 OPEN再分别进行脱机全备。备份前确认源库正常关闭或满足所采用备份方式的条件并保证目标磁盘有足够空间。两个 RAFT 的备份目录和逻辑名称必须区分避免误把 RAFT_1 备份恢复到 RAFT_2 成员。图 12 启动 BP11 和 BP21 至 OPEN 状态# RAFT_1/dm8/bin/dmrman CTLSTMTBACKUP DATABASE /dm8/dpc/bp11/DAMENG/dm.ini FULL TO BACKUP_RAFT1 BACKUPSET /dm8/dpc/bp11/BACKUP_RAFT1 USE_AP2# RAFT_2/dm8/bin/dmrman CTLSTMTBACKUP DATABASE /dm8/dpc/bp21/DAMENG/dm.ini FULL TO BACKUP_RAFT2 BACKUPSET /dm8/dpc/bp21/BACKUP_RAFT2 USE_AP2图 13 备份 RAFT_1 源库 BP11图 14 备份 RAFT_2 源库 BP21图 15 检查两个 RAFT 备份集将 RAFT_1 备份还原到 BP12、BP13将 RAFT_2 备份还原到 BP22、BP23。跨主机成员需要先把完整备份集传到 DPC02。还原完成后必须执行 UPDATE DB_MAGIC并重新检查目标实例自己的 INSTANCE_NAME、PORT_NUM 和 AP_PORT_NUM避免恢复操作把源实例的本地参数带到目标实例。跨主机复制后建议比较备份文件数量和大小。/dm8/bin/dmrman CTLSTMTRESTORE DATABASE /dm8/dpc/bp12/DAMENG/dm.ini FROM BACKUPSET /dm8/dpc/bp11/BACKUP_RAFT1 USE_AP2/dm8/bin/dmrman CTLSTMTRECOVER DATABASE /dm8/dpc/bp12/DAMENG/dm.ini UPDATE DB_MAGIC USE_AP2图 16 将 BP11 备份还原至 BP12图 17 检查 DPC02 接收的备份文件图 18 将 RAFT_1 备份还原至 BP13图 19 将 RAFT_2 备份还原至 BP22图 20 将 RAFT_2 备份还原至 BP235 配置 BP 的 RAFT 归档六个 BP 均启用 ARCH_INI配置本地归档和 RAFT 归档。每个 RAFT 内成员 ID 必须唯一ARCH_DEST 必须指向正确实例名ARCH_DEST_ID 必须与对端 SELF_ID 一致。建议配置完一个 RAFT 后先做组内对照再配置下一个 RAFT。复制配置文件时只复制公共参数实例名、本地归档目录、SELF_ID 和对端列表必须逐项修改。ALTER_MODE_STATUS 0ARCH_INI 1[ARCHIVE_LOCAL1]ARCH_TYPE LOCALARCH_DEST /dm8/dpc/实例/DAMENG/archARCH_FILE_SIZE 128ARCH_SPACE_LIMIT 0XMAL_HB_INTERVAL 5RAFT_HB_INTERVAL 150RAFT_VOTE_INTERVAL 1500RAFT_SELF_ID 1|2|3[ARCHIVE_RAFT1]ARCH_TYPE RAFTARCH_DEST 对端实例名ARCH_DEST_ID 对端成员ID图 21 配置 DPC01 上 BP11、BP12、BP21图 22 配置 DPC02 上 BP13、BP22、BP236 启动 BP、SP 并检查状态分别在两台服务器启动六个 BP确认进程、端口和 OPEN 状态后再检查 RAFT 角色。健康状态下 RAFT_1 由 BP11 担任主节点RAFT_2 由 BP21 担任主节点。推荐的检查顺序为进程存在 → 端口监听 → 实例 OPEN → 组内出现主节点 → 其他成员为副本 → 全局视图成员数正确。任何一层失败都先停止继续操作定位当前层问题。图 23 启动 DPC01 上三个 BP 实例图 24 启动 DPC02 上三个 BP 实例图 25 检查 RAFT_1 主节点 BP11图 26 检查 RAFT_2 主节点 BP21启动 SP1 后连接 5236 端口查询全局 RAFT 信息。客户端后续统一连接 SP1不直接绑定某个 BP。直连 BP 只用于排障和节点状态确认。图 27 检查 SP1 启动结果图 28 登录 SP1 统一访问入口图 29 查询全局 RAFT 运行状态SELECT * FROM V$GLOBAL_RAFT_INFO;7 创建分布式对象并验证数据分布CREATE TABLESPACE TS_RAFT1DATAFILE TS_RAFT1.DBF SIZE 128 STORAGE(ON RAFT_1);CREATE TABLESPACE TS_RAFT2DATAFILE TS_RAFT2.DBF SIZE 128 STORAGE(ON RAFT_2);SP_TS_GROUP_CREATE(TSG_DPC_TEST,DPC distribution test tablespace group);SP_TS_GROUP_ADD_TS(TSG_DPC_TEST,TS_RAFT1);SP_TS_GROUP_ADD_TS(TSG_DPC_TEST,TS_RAFT2);CREATE PARTITION GROUP PG_DPC_HASHPARTITION BY HASH(INT) PARTITIONS 2STORE IN (TS_RAFT1, TS_RAFT2);图 30 创建两个 RAFT 表空间图 31 创建表空间组图 32 创建 HASH 分区组CREATE TABLE T_DPC_HASH(ID INT,DIST_ID INT NOT NULL,NAME VARCHAR(50),AMOUNT DECIMAL(10,2))USING PARTITION GROUP PG_DPC_HASH BY(DIST_ID);图 33 创建按 DIST_ID 分布的测试表图 34 查询两个 HASH 分区的数据量图 35 通过 ROWID 验证数据实际所在 RAFT验收时至少完成三项检查表可通过 SP 正常读写两个 HASH 分区均有数据通过 ROWID 或相关视图确认记录实际分布在 RAFT_1、RAFT_2。如果两个分区数据量明显不均应先检查测试数据的 DIST_ID 取值是否具有代表性再检查 HASH 分区数、表空间组成员和表的分布键定义。8 主 BP 故障与恢复验收故障前记录 RAFT_1 主节点 BP11。随后结束 BP11 的 dmserver 进程模拟突然故障。执行故障前确认 BP12、BP13 均健康确保故障后仍有多数派。故障操作必须精确定位 BP11 进程避免误杀 MP、SP 或同主机其他 BP。图 36 故障前记录 RAFT_1 状态图 37 模拟 BP11 进程突然故障故障后查询 RAFT 状态BP12 被选举为新主节点继续通过 SP 查询和插入业务可以完成。查询新主时允许短暂选举窗口应连续观察而不是只查询一次。业务验证至少包含一次写入并记录写入内容供节点恢复后核对。图 38 检查 RAFT_1 选举出的新主节点图 39 故障后通过 SP 继续查询和插入重新启动 BP11先直连检查其状态再从 SP 查询全局 RAFT确认 BP11 已作为副本重新加入。最终验收不要求 BP11 恢复为主节点。只要当前主 BP 稳定、BP11 完成日志追赶并以正确成员身份加入RAFT_1 即恢复三副本健康状态。图 40 检查 BP11 重新启动并加入集群图 41 直连 BP11 检查实例真实状态图 42 从 SP 确认 BP11 已重新加入 RAFT_1图 43 最终功能验收与集群状态确认9 验收清单验收项通过标准MP/SP/BP 进程8 个实例均按规划启动端口无冲突拓扑元数据2 个 RAFT、1 个 BP 组、1 个 SP RAFT 注册完整副本数据同源同一 RAFT 的副本来自同一源库备份RAFT 状态RAFT_1、RAFT_2 均有 1 主 2 副本分布式数据HASH 分区数据分布到两个 RAFT主节点故障BP11 故障后 BP12 自动成为新主业务连续性故障后仍可通过 SP 查询和插入节点恢复BP11 重启后重新加入 RAFT_110 常见问题与排查端口冲突逐项核对 PORT_NUM、AP_PORT_NUM、MP 管理端口及实际监听。实例未出现在拓扑检查 MP 是否可用、注册顺序和实例名是否一致。RAFT 无法形成检查副本是否同源、DB_MAGIC 是否更新、SELF_ID 是否唯一。副本无法连接检查 ARCH_DEST、ARCH_DEST_ID、网络和对应端口。进程已启动但不是组成员不要只看进程必须查询 RAFT 和全局状态视图。故障节点启动后未重加入检查日志差距、RAFT 配置、节点身份和剩余多数派状态。分布式表数据未按预期分布检查表空间与 RAFT 映射、分区组和分布键。11 结论本次完成两台服务器上的 DPC 带副本集群部署。两个 RAFT 组均形成三副本SP 提供统一访问MP 管理全局拓扑分布式表能够按 HASH 分布到不同 RAFT主 BP 故障后可以自动选主并继续提供服务故障节点恢复后能够重新加入。部署与功能验收均达到预期。达梦社区地址https://eco.dameng.com

相关新闻

C语言字符串函数安全实现与性能优化指南

C语言字符串函数安全实现与性能优化指南

1. 为什么需要模拟实现字符串函数&#xff1f; 在C语言标准库中&#xff0c; <string.h> 提供了一系列字符串操作函数&#xff0c;如 strlen 、 strcpy 、 strcat 等。这些函数虽然功能强大&#xff0c;但在实际开发中经常会遇到各种限制&#xff1a; 安全性问题…

2026/8/4 10:51:07 阅读更多 →
大模型进入“拼刺刀”时刻:参数竞赛重启,能力边界升维

大模型进入“拼刺刀”时刻:参数竞赛重启,能力边界升维

2026年8月的第一周&#xff0c;全球大模型赛场迎来了三声密集的发令枪响。8月1日&#xff0c;OpenAI首次公开确认下一代模型系列名称Astra&#xff0c;发布249页论文宣布其内部版本攻克了十项十年以上未解的数学与理论计算机科学难题。8月2日&#xff0c;DeepSeek-V4-Flash正式…

2026/8/4 10:50:06 阅读更多 →
小程序投票创建步骤详解,新手也能 10 分钟上线

小程序投票创建步骤详解,新手也能 10 分钟上线

一、为什么选择小程序进行投票在当今数字化时代&#xff0c;投票活动在各个领域都广泛应用&#xff0c;如学校评选、企业内部投票、活动竞赛等。小程序投票具有诸多优势&#xff0c;相比传统投票方式&#xff0c;它便捷高效&#xff0c;用户无需下载安装 APP&#xff0c;只需通…

2026/8/4 10:50:06 阅读更多 →

最新新闻

木质也能做防火门?很多人都不知道

木质也能做防火门?很多人都不知道

多数人存在认知误区&#xff0c;认为防火门只能采用钢制材质&#xff0c;实际上符合国标要求的木质防火门早已广泛应用&#xff0c;依据 GB12955-2024&#xff0c;木质防火门属于正规被动防火构件&#xff0c;大量使用于酒店、写字楼、住宅精装区域。木质防火门并非普通实木门简…

2026/8/4 11:43:38 阅读更多 →
COMSOL仿真金属纳米盘光学特性全流程解析

COMSOL仿真金属纳米盘光学特性全流程解析

1. 项目概述&#xff1a;金属纳米盘光学仿真全流程解析 金属纳米盘的光学特性研究是纳米光子学领域的重要课题。这次我们要用COMSOL Multiphysics完成从建模到后处理的完整仿真流程&#xff0c;重点分析散射截面和光学性能指标。作为一款基于有限元法的多物理场仿真平台&#x…

2026/8/4 11:43:38 阅读更多 →
电信优化BT Tracker服务器性能提升实践

电信优化BT Tracker服务器性能提升实践

1. 为什么需要电信优化的BT Tracker服务器&#xff1f;在P2P文件共享领域&#xff0c;Tracker服务器扮演着交通指挥中心的角色。它不直接传输数据&#xff0c;而是帮助对等节点&#xff08;peers&#xff09;相互发现彼此。当你在BitTorrent客户端添加一个种子时&#xff0c;客…

2026/8/4 11:43:38 阅读更多 →
Python条件判断与循环语句实战指南

Python条件判断与循环语句实战指南

1. Python条件判断与循环语句基础解析 刚接触Python编程时&#xff0c;条件判断和循环语句就像交通信号灯和环形公路——它们控制着程序的执行流向&#xff0c;让代码能够根据不同情况做出决策&#xff0c;或者重复执行特定任务。作为Python基础中的核心控制结构&#xff0c;if…

2026/8/4 11:43:38 阅读更多 →
Java类定义规范与静态成员设计实践

Java类定义规范与静态成员设计实践

1. 项目概述&#xff1a;Java类定义片段解析 这段看似杂乱的字符串"javapublicclassBookTitleGenerator{publicstaticv"实际上是一个不完整的Java类定义片段。作为一名有十年Java开发经验的工程师&#xff0c;我一眼就看出这是典型的类声明开头&#xff0c;只是缺少了…

2026/8/4 11:43:37 阅读更多 →
【AI写作思维跃迁指南】:20年资深技术专家亲授5大AI辅助构思心法,90%的作者都忽略了第3步?

【AI写作思维跃迁指南】:20年资深技术专家亲授5大AI辅助构思心法,90%的作者都忽略了第3步?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI写作思维跃迁的底层认知重构 传统写作依赖线性构思、经验沉淀与反复修改&#xff0c;而AI写作要求创作者首先完成一场静默的认知重装——从“作者中心”转向“提示工程师语义协作者”的双重身份。这种…

2026/8/4 11:42:37 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标&#xff1a;掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码&#xff1a;多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话&#xff0c;第一次听说美国这个老牌折扣网站的跨境卖家&#xff0c;十个有八个会问同一个问题&#xff1a;这个平台到底是干嘛的&#xff1f;我见过一个做家居出口的朋友&#xff0c;他在亚马逊上月销二十万美金&#xff0c;却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者&#xff1a;邓兵、刘建国通讯单位&#xff1a;清华大学DOI&#xff1a;https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素&#xff08;REEs&#xff09;是清洁能源技术与电子器件不可或缺的核心原料&#xff0c;然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →