注册
达梦第九课-DMDPC增删节点测试
技术分享/ 文章详情 /

达梦第九课-DMDPC增删节点测试

WXY是对称的 2025/06/20 163 0 0

DMDPC-增删节点测试

DM8分布式计算集群官方文档中,DPC的部署方案全部基于一台服务器创建多实例完成,并且部署环境为Windows,但是生产环境多使用Linux并且基于多台服务器部署,因此此次使用四台服务器模拟生产环境在Linux上部署DMDPC测试集群。完成部署后,对BP节点进行纵向增删实验,对SP节点进行横向增删实验。

一、 资源规划

1. 服务器资源

image.png

2. IP和端口规划

image.png

二、 环境准备

1. 虚拟机准备

基于BP2服务器,克隆一台虚拟机,当前为测试环境,因此仅需少量资源。

1.1 BP3服务器

image.png

2. 准备DM8环境

2.1 用户家目录为/dmdba

因为是克隆环境,因此已经部署了DM8软件,只需要关闭并删除当前已经存在的实例即可。

pkill dmdba
rm -rf BP11 BP12 BP12 

2.2 配置环境变量(已有,可忽略)

echo " export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool"  >>  ~/.bash_profile 
source .bash_profile

三、 增删BP节点

1. 新增BP节点

1.1 初始化BP节点

#初始化BP14

dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP14 INSTANCE_NAME=BP14    PORT_NUM=5244  ap_port_num=6008 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

#初始化BP15

dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP15 INSTANCE_NAME=BP15    PORT_NUM=5245  ap_port_num=6009 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

1.2 注册BP节点

#在MP节点将新初始化的节点注册进待新增节点的 RAFT_1 组中

disql  sysdba/Dameng123@localhost:5237
SP_CREATE_DPC_INSTANCE('RAFT_1', 'BP14', 'BP', 6008, 5244, '192.168.20.135', 'STANDBY', 0, 'BP instance');
SP_CREATE_DPC_INSTANCE('RAFT_1', 'BP15', 'BP', 6009 ,5245, '192.168.20.135', 'STANDBY', 0, 'BP instance');

1.3 准备BP新增节点归档

#创建BP14/15的归档目录

mkdir -p  /dmdba/{BP14,BP15}/arch

#修改BP14归档配置文件

cat >/dmdba/BP14/dmarch.ini<<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 2000 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 4       # 多副本自身节点 ID  

[ARCHIVE_RAFT1]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP11 #归档目标实例名
ARCH_DEST_ID = 1   # 归档目标多副本节点 ID

[ARCHIVE_RAFT2]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP12 #归档目标实例名
ARCH_DEST_ID = 2   #归档目标多副本节点 ID

[ARCHIVE_RAFT3]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP13 #归档目标实例名
ARCH_DEST_ID = 3   # 归档目标多副本节点 ID

[ARCHIVE_RAFT4]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP15 #归档目标实例名
ARCH_DEST_ID =5   #归档目标多副本节点 ID

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP14/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF

#修改BP15归档配置文件

cat >/dmdba/BP15/dmarch.ini<<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 2500 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 5       # 多副本自身节点 ID  

[ARCHIVE_RAFT1]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP11 #归档目标实例名
ARCH_DEST_ID = 1   # 归档目标多副本节点 ID

[ARCHIVE_RAFT2]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP12 #归档目标实例名
ARCH_DEST_ID = 2   #归档目标多副本节点 ID

[ARCHIVE_RAFT3]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP13 #归档目标实例名
ARCH_DEST_ID = 3   # 归档目标多副本节点 ID

[ARCHIVE_RAFT4]
ARCH_TYPE = RAFT #RAFT 归档
ARCH_DEST = BP14 #归档目标实例名
ARCH_DEST_ID = 4   #归档目标多副本节点 ID


[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP15/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF

1.4 配置MP.INI

#BP14配置mp.ini

cat >/dmdba/BP14/mp.ini <<EOF
mp_host=192.168.20.132
mp_port=9000
EOF

#BP15配置mp.ini

cat >/dmdba/BP15/mp.ini <<EOF
mp_host=192.168.20.132
mp_port=9000
EOF

1.5 数据备份恢复

#BP1组主节点确认AP服务

ps -ef|grep dmdba|grep dmap

#如果没有启动,则启动,用于BP1主节点备份使用

DmAPService  start 

#查看当前集群节点信息

SQL>  select * from dpc_instance ;


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- -----------
           INFO2                INFO3
           -------------------- ----------
1          0           4096        MP   MP       6001        5237        192.168.20.132 NORMAL   4           1           MP INSTANCE 192.168.20.132 74536
           0                    NULL

2          1           4097        BP11 BP       6002        5238        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 65536
           0                    NULL

3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 131072
           0                    NULL


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- -----------
           INFO2                INFO3
           -------------------- ----------
4          1           4099        BP13 BP       6004        5240        192.168.20.133 PRIMARY  4           1           BP INSTANCE 192.168.20.133 196608
           0                    NULL

5          2           4100        BP21 BP       6005        5241        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 65536
           0                    NULL

6          2           4101        BP22 BP       6006        5242        192.168.20.134 PRIMARY  4           1           BP INSTANCE 192.168.20.134 131072
           0                    NULL


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- -----------
           INFO2                INFO3
           -------------------- ----------
7          2           4102        BP23 BP       6007        5243        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 196608
           0                    NULL

8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   4           1           SP INSTANCE 192.168.20.131 NULL
           0                    NULL

9          1           4104        BP14 BP       6008        5244        192.168.20.135 STANDBY  6           0           BP instance 192.168.20.135 NULL
           0                    NULL


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- -----------
           INFO2                INFO3
           -------------------- ----------
10         1           4105        BP15 BP       6009        5245        192.168.20.135 STANDBY  6           0           BP instance 192.168.20.135 NULL
           0                    NULL


10 rows got

已用时间: 14.483(毫秒). 执行号:12583315.

#登录BP1主服务器

disql sysdba/Dameng123@localhost:5240

#在线备份

BACKUP DATABASE  FULL  TO BACKUP_13  BACKUPSET '/dmdba/BP13/bak' ;

#传输备份

scp -r  /dmdba/BP13/bak_BP13  dmdba@192.168.20.135:/dmdba/BP14/bak 
scp -r  /dmdba/BP13/bak_BP13  dmdba@192.168.20.135:/dmdba/BP15/bak 

#BP14、BP15节点启动AP服务

DmAPService start

#BP14节点恢复数据

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP14/dm.ini' FROM   BACKUPSET 'bak_BP13'" USE_AP=2
#恢复数据库
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP14/dm.ini' FROM BACKUPSET 'bak_BP13';"
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP14/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

#BP15节点恢复数据

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP15/dm.ini' FROM   BACKUPSET 'bak_BP13'" USE_AP=2
#恢复数据库
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP15/dm.ini' FROM BACKUPSET 'bak_BP13';"
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP15/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

1.6 启动新增节点
#BP14、BP15节点修改配置文件

sed -i   -e   's/ALTER_MODE_STATUS[ ]*=[ ]*1/ALTER_MODE_STATUS  =    0/;s/[ ]*ARCH_INI[ ]*=[ ]*0/ARCH_INI = 1/'   /dmdba/BP14/dm.ini   &&  grep   -E 'ALTER_MODE_STATUS|ARCH_INI'  /dmdba/BP14/dm.ini 
sed -i   -e   's/ALTER_MODE_STATUS[ ]*=[ ]*1/ALTER_MODE_STATUS  =    0/;s/[ ]*ARCH_INI[ ]*=[ ]*0/ARCH_INI = 1/'   /dmdba/BP15/dm.ini   &&  grep   -E 'ALTER_MODE_STATUS|ARCH_INI'  /dmdba/BP15/dm.ini 

#BP14、BP15节点注册服务

su - root
cd /dmdba/dmdbms/script/root 
./dm_service_installer.sh -t dmserver  -p BP14  -dpc_mode BP  -dm_ini  /dmdba/BP14/dm.ini -m mount
./dm_service_installer.sh -t dmserver  -p BP15  -dpc_mode BP  -dm_ini  /dmdba/BP15/dm.ini -m mount

#启动BP14/BP15节点

DmServiceBP14 start
DmServiceBP15 start

1.7 新增节点加入集群
#BP1主节点
#将14、15以learner的角色加入进RAFT组

disql sysdba/Dameng123@localhost:5240
SP_ADD_RAFT_LEARNER('BP14','192.168.20.135',6008,4);
SP_ADD_RAFT_LEARNER('BP15','192.168.20.135',6009,5);

#将新节点加入集群

SP_ALTER_RAFT_NODE('BP11/BP12/BP13/BP14/BP15');

1.8 查看集群信息

#查看当前集群节点信息

SQL> select * from dpc_instance ;

行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1       INFO2                INFO3
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- ----------- -------------------- ----------
1          0           4096        MP   MP       6001        5237        192.168.20.132 NORMAL   4           1           MP INSTANCE 192.168.20.132 74536       0                    NULL
2          1           4097        BP11 BP       6002        5238        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 65536       0                    NULL
3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 131072      0                    NULL
4          1           4099        BP13 BP       6004        5240        192.168.20.133 PRIMARY  4           1           BP INSTANCE 192.168.20.133 196608      0                    NULL
5          2           4100        BP21 BP       6005        5241        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 65536       0                    NULL
6          2           4101        BP22 BP       6006        5242        192.168.20.134 PRIMARY  4           1           BP INSTANCE 192.168.20.134 131072      0                    NULL
7          2           4102        BP23 BP       6007        5243        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 196608      0                    NULL
8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   4           1           SP INSTANCE 192.168.20.131 NULL        0                    NULL
9          1           4104        BP14 BP       6008        5244        192.168.20.135 STANDBY  4           0           BP instance 192.168.20.135 NULL        0                    NULL
10         1           4105        BP15 BP       6009        5245        192.168.20.135 STANDBY  4           0           BP instance 192.168.20.135 NULL        0                    NULL

10 rows got

已用时间: 2.971(毫秒). 执行号:1409.
SQL>

2. 删除节点

2.1 BP主节点修改组内节点信息

#连接主节点

disql sysdba/Dameng123@localhost:5240
SP_ALTER_RAFT_NODE('BP11/BP12/BP13');

2.2 MP节点删除注册信息

[dmdba@localhost ~]$ disql  sysdba/Dameng123@localhost:5237
SQL> SP_DROP_DPC_INSTANCE('BP14');
SP_DROP_DPC_INSTANCE('BP15');
DMSQL 过程已成功完成
已用时间: 4.377(毫秒). 执行号:1410.
SQL> DMSQL 过程已成功完成
已用时间: 2.802(毫秒). 执行号:1411.
SQL>

2.3 查看集群信息

SQL> select * from dpc_instance ;

行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1       INFO2                INFO3
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- ----------- -------------------- ----------
1          0           4096        MP   MP       6001        5237        192.168.20.132 NORMAL   4           1           MP INSTANCE 192.168.20.132 74536       0                    NULL
2          1           4097        BP11 BP       6002        5238        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 65536       0                    NULL
3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 131072      0                    NULL
4          1           4099        BP13 BP       6004        5240        192.168.20.133 PRIMARY  4           1           BP INSTANCE 192.168.20.133 196608      0                    NULL
5          2           4100        BP21 BP       6005        5241        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 65536       0                    NULL
6          2           4101        BP22 BP       6006        5242        192.168.20.134 PRIMARY  4           1           BP INSTANCE 192.168.20.134 131072      0                    NULL
7          2           4102        BP23 BP       6007        5243        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 196608      0                    NULL
8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   4           1           SP INSTANCE 192.168.20.131 NULL        0                    NULL

8 rows got

已用时间: 0.669(毫秒). 执行号:2401.
SQL>

四、 增删SP节点

1. 新增SP节点

1.1 初始化SP节点

dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1  LOG_SIZE=256 DB_NAME=SP2   INSTANCE_NAME=SP2    PORT_NUM=5246  ap_port_num=6010 dpc_mode=SP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

1.2 创建SP2的RAFT组

#MP节点为 SP 创建一个新的 RAFT 组,名称为 RAFT_SP1

SP_CREATE_DPC_RAFT('SP', 'RAFT_SP2');

1.3 注册SP实例

#在 RAFT_SP2 内注册 SP 实例,名称为 SP2 。此处的实例 SP2 是提前初始化好的

SP_CREATE_DPC_INSTANCE('RAFT_SP2', 'SP2', 'SP', 6010, 5246, '192.168.20.135', '','NORMAL', 2, 'SP instance');

1.4 修改MP.INI信息

#将MP.INI文件拷贝到SP2的dm.ini同级目录

cat >/dmdba/SP2/mp.ini <<EOF
mp_host=192.168.20.132
mp_port=9000
EOF

1.5 SP注册系统启动服务

su - root 
 /dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver  -p SP2  -dpc_mode SP  -dm_ini  /dmdba/SP2/dm.ini 

1.6 启动SP

[root@localhost root]# su - dmdba
Last login: Fri Jun 20 00:04:09 CST 2025 on pts/0
[dmdba@localhost ~]$ DmServiceSP2 start
Starting DmServiceSP2:
                                                           [ OK ]

1.7 MP节点查看集群实例

[dmdba@localhost ~]$ disql  sysdba/Dameng123@localhost:5237
SQL> SQL>  select * from dpc_instance ;


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1       INFO2                INFO3
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- ----------- -------------------- ----------
1          0           4096        MP   MP       6001        5237        192.168.20.132 NORMAL   4           1           MP INSTANCE 192.168.20.132 74536       0                    NULL
2          1           4097        BP11 BP       6002        5238        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 65536       0                    NULL
3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 131072      0                    NULL
4          1           4099        BP13 BP       6004        5240        192.168.20.133 PRIMARY  4           1           BP INSTANCE 192.168.20.133 196608      0                    NULL
5          2           4100        BP21 BP       6005        5241        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 65536       0                    NULL
6          2           4101        BP22 BP       6006        5242        192.168.20.134 PRIMARY  4           1           BP INSTANCE 192.168.20.134 131072      0                    NULL
7          2           4102        BP23 BP       6007        5243        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 196608      0                    NULL
8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   4           1           SP INSTANCE 192.168.20.131 NULL        0                    NULL
9          4           4106        SP2  SP       6010        5246        192.168.20.135 NORMAL   4           1           SP instance                NULL        0                    NULL

9 rows got

已用时间: 0.456(毫秒). 执行号:2430.
SQL> SQL>

2. 删除SP节点

2.1 下线节点

#下线需要删除的SP节点

[dmdba@localhost ~]$ DmServiceSP2 stop
Stopping DmServiceSP2:                                     [ OK ]
[dmdba@localhost ~]$

2.2 移除SP的元数据信息

#登录MP节点

[dmdba@localhost ~]$ disql  sysdba/Dameng123@localhost:5237

#移除 SP 实例

SP_DROP_DPC_INSTANCE('SP2');

#删除 RAFT 组

SP_DROP_DPC_BP_RAFT('RAFT_SP2');

2.3 查看删除后的实例信息

SQL>   select * from dpc_instance ;


行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT   IP_INTERNAL    SYS_MODE SYS_STATUS  STATUS      DESCRIPTION IP_EXTERNAL    INFO1       INFO2                INFO3
---------- ----------- ----------- ---- -------- ----------- ----------- -------------- -------- ----------- ----------- ----------- -------------- ----------- -------------------- ----------
1          0           4096        MP   MP       6001        5237        192.168.20.132 NORMAL   4           1           MP INSTANCE 192.168.20.132 74536       0                    NULL
2          1           4097        BP11 BP       6002        5238        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 65536       0                    NULL
3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  4           0           BP INSTANCE 192.168.20.133 131072      0                    NULL
4          1           4099        BP13 BP       6004        5240        192.168.20.133 PRIMARY  4           1           BP INSTANCE 192.168.20.133 196608      0                    NULL
5          2           4100        BP21 BP       6005        5241        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 65536       0                    NULL
6          2           4101        BP22 BP       6006        5242        192.168.20.134 PRIMARY  4           1           BP INSTANCE 192.168.20.134 131072      0                    NULL
7          2           4102        BP23 BP       6007        5243        192.168.20.134 STANDBY  4           0           BP INSTANCE 192.168.20.134 196608      0                    NULL
8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   4           1           SP INSTANCE 192.168.20.131 NULL        0                    NULL

8 rows got

已用时间: 2.373(毫秒). 执行号:2434.
SQL> SQL>
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服