注册
达梦第九课-Linux命令行部署DPC集群
技术分享/ 文章详情 /

达梦第九课-Linux命令行部署DPC集群

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

DMDPC-BP多副本架构部署

DM8分布式计算集群官方文档中,DPC的部署方案全部基于一台Windows服务器创建多实例完成,但是生产环境通常使用Linux并且基于多台服务器部署,因此此次使用四台服务器模拟生产环境在Linux上部署DMDPC集群。

一、 资源规划

1. 服务器资源

软硬件类型 名称 具体信息 备注
操作系统 centos 7 CentOS 7.4.1708 (Core) Linux dsc1 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 GNU/Linux
CPU x86_intel 1x2/1x2 单核/单核双线程
内存 mem 2.8G/6.2G 关闭swap
网络 ens33 千兆网卡 内部通讯网卡
硬盘 sda 10G/20G 多实例部署

2. IP和端口规划

image.png

二、 环境准备

1. 虚拟机准备

首先创建四台虚拟机,当前为测试环境,因此仅需少量资源。

1.1 SP服务器

image.png

1.2 MP服务器

image.png

1.3 BP1服务器

image.png

1.4 BP2服务器

image.png

2. 部署DM8软件

2.1 用户家目录为/dmdba

#前置操作:关闭防火墙、设置内核参数、limit参数、创建用户、挂载光盘等

./DMInstall.bin -i  <<EOF
1
n
y
21
1
/dmdba/dmdbms
y
EOF
su - root
sh  /dmdba/dmdbms/script/root/root_installer.sh

2.2 配置环境变量

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

三、 DPC部署

1. 初始化实例

1.1 SP实例

dminit path=/dmdba  PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=SP1 INSTANCE_NAME=SP1    PORT_NUM=5236  ap_port_num=6000 dpc_mode=SP SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

1.2 MP实例

dminit path=/dmdba  PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=MP INSTANCE_NAME=MP    PORT_NUM=5237  ap_port_num=6001 dpc_mode=MP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

1.3 BP1的实例

dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP11 INSTANCE_NAME=BP11    PORT_NUM=5238  ap_port_num=6002 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123
dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP12 INSTANCE_NAME=BP12    PORT_NUM=5239  ap_port_num=6003 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123
dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP13 INSTANCE_NAME=BP13    PORT_NUM=5240  ap_port_num=6004 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

1.4 BP2的实例

dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP21 INSTANCE_NAME=BP21    PORT_NUM=5241  ap_port_num=6005 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123
dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP22 INSTANCE_NAME=BP22    PORT_NUM=5242  ap_port_num=6006 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123
dminit path=/dmdba   PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 LOG_SIZE=256 DB_NAME=BP23 INSTANCE_NAME=BP23    PORT_NUM=5243  ap_port_num=6007 dpc_mode=BP  SYSDBA_PWD=Dameng123  SYSAUDITOR_PWD=Dameng123

2. MP设置

2.1 配置MP参数文件

2.1.1 SP1节点

#设置MP信息

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

2.1.2 MP节点

#设置MP信息

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

2.1.3 BP11节点

#设置MP信息

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

2.1.4 BP12节点

#设置MP信息

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

2.1.5 BP13节点

#设置MP信息

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

2.1.6 BP21节点

#设置MP信息

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

2.1.7 BP22节点

#设置MP信息

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

2.1.8 BP23节点

#设置MP信息

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

2.2 启动MP服务

#MP节点启动服务,前台运行

 dmserver /dmdba/MP/dm.ini dpc_mode=mp

2.3 注册集群信息

#登录MP节点实例

disql SYSDBA/Dameng123@192.168.20.132:5237

#注意IP地址信息根据实际情况填写,本次未准备多网卡
SP_CREATE_DPC_INSTANCE(xxxx,xxxxx,ip_inter,ip_exter,xxxxxxxx);

#注册MP

SP_CREATE_DPC_INSTANCE('MP_RAFT','MP','MP',6001,5237, '192.168.20.132','192.168.20.132','NORMAL',1,'MP INSTANCE');

#注册BP1的RAFT1

SP_CREATE_DPC_RAFT('BP','RAFT_1');
SP_CREATE_DPC_INSTANCE('RAFT_1','BP11','BP',6002, 5238, '192.168.20.133','192.168.20.133','STANDBY',0,'BP INSTANCE');
SP_CREATE_DPC_INSTANCE('RAFT_1','BP12','BP',6003, 5239, '192.168.20.133','192.168.20.133','STANDBY',0,'BP INSTANCE');
SP_CREATE_DPC_INSTANCE('RAFT_1','BP13','BP',6004, 5240, '192.168.20.133','192.168.20.133','STANDBY',0,'BP INSTANCE');

#注册BP2的RAFT2

SP_CREATE_DPC_RAFT('BP','RAFT_2');
SP_CREATE_DPC_INSTANCE('RAFT_2','BP21','BP',6005, 5241, '192.168.20.134','192.168.20.134','STANDBY',0,'BP INSTANCE');
SP_CREATE_DPC_INSTANCE('RAFT_2','BP22','BP',6006, 5242, '192.168.20.134','192.168.20.134','STANDBY',0,'BP INSTANCE');
SP_CREATE_DPC_INSTANCE('RAFT_2','BP23','BP',6007, 5243, '192.168.20.134','192.168.20.134','STANDBY',0,'BP INSTANCE');

#创建BG1组添加RAFT_1

SP_CREATE_DPC_BP_GROUP('BG_1', 'BP GROUP1');
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_1');

#创建BG2组添加RAFT_2

SP_CREATE_DPC_BP_GROUP('BG_2', 'BP GROUP2');
SP_BP_GROUP_ADD_RAFT('BG_2', 'RAFT_2');

#注册创建SP

SP_CREATE_DPC_RAFT('SP', 'RAFT_SP1'); 

#在 RAFT_SP1 内注册 SP 实例 SP1

SP_CREATE_DPC_INSTANCE('RAFT_SP1','SP1','SP',6000,5236,'192.168.20.131','192.168.20.131','NORMAL',2,'SP INSTANCE');

#注册三个容错域: FDOM_1 FDOM_2 FDOM_3

SP_CREATE_FAULT_DOMAIN ('FDOM_1', 'shanghai_1');
SP_CREATE_FAULT_DOMAIN ('FDOM_2', 'shanghai_2');
SP_CREATE_FAULT_DOMAIN ('FDOM_3', 'shanghai_3');

#将实例放到容错域

SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'MP');
SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'BP11');
SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'BP21');
SP_FAULT_DOMAIN_MV_INST('FDOM_2', 'BP12');
SP_FAULT_DOMAIN_MV_INST('FDOM_2', 'BP22');
SP_FAULT_DOMAIN_MV_INST('FDOM_3', 'BP13');
SP_FAULT_DOMAIN_MV_INST('FDOM_3', 'BP23');

2.4 检查注册情况

#查看BP组信息

SQL>  select * from DPC_BP_GROUP;

行号     ID          NAME DESCRIPTION RAFT_NUM    RAFT_INFO INFO1       INFO2                INFO3
---------- ----------- ---- ----------- ----------- --------- ----------- -------------------- ----------
1          0           BG_1 BP GROUP    1           0x0100    0           NULL                 NULL
2          1           BG_2 BP GROUP    1           0x0200    0           NULL                 NULL

已用时间: 2.433(毫秒). 执行号:73426.
SQL>

#查看BP_RAFT信息

SQL> select * from DPC_BP_RAFT;

行号     RAFT_ID     GROUP_ID    DPC_MODE NAME     IS_VALID    INFO1       INFO2                INFO3
---------- ----------- ----------- -------- -------- ----------- ----------- -------------------- ----------
1          0           -1          MP       MP_RAFT  1           NULL        NULL                 NULL
2          1           -1          BP       RAFT_1   1           NULL        NULL                 NULL
3          2           -1          BP       RAFT_2   1           NULL        NULL                 NULL
4          3           -1          SP       RAFT_SP1 1           NULL        NULL                 NULL

已用时间: 2.558(毫秒). 执行号:73427.
SQL>

#查看DPC实例信息

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  6           0           BP INSTANCE 192.168.20.133 65536
           0                    NULL

3          1           4098        BP12 BP       6003        5239        192.168.20.133 STANDBY  6           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 STANDBY  6           0           BP INSTANCE 192.168.20.133 196608
           0                    NULL

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

6          2           4101        BP22 BP       6006        5242        192.168.20.134 STANDBY  6           0           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  6           0           BP INSTANCE 192.168.20.134 196608
           0                    NULL

8          3           4103        SP1  SP       6000        5236        192.168.20.131 NORMAL   6           2           SP INSTANCE 192.168.20.131 NULL
           0                    NULL


8 rows got

已用时间: 2.346(毫秒). 执行号:73428.

3. BP配置

3.1 配置BP1

3.1.1 配置BP11归档

#配置归档参数

# vim /dmdba/BP11/dm.ini    #arch_ini
# ARCH_INI = 1  #打开归档配置
sed -i    's/[ ]*ARCH_INI[ ]*=[ ]*0/ARCH_INI = 1/'   /dmdba/BP11/dm.ini   &&  grep   -E 'ARCH_INI'  /dmdba/BP11/dm.ini 

#配置归档参数文件

# vim /dmdba/BP11/dmarch.ini    #arch_ini
mkdir -p /dmdba/BP11/arch
cat >/dmdba/BP11/dmarch.ini<<EOF
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL     # 本地归档类型
ARCH_DEST = /dmdba/BP11/arch   #本地归档文件路径
ARCH_FILE_SIZE = 128     #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 1024        #本地归档文件总大小 ,0 表示无限制
EOF

3.1.2 配置BP1实例

#启动BP11实例,前台启动,启动后关闭

dmserver  /dmdba/BP11/dm.ini    dpc_mode=bp  
#ctrl + c

#备份BP11实例数据库

dmrman CTLSTMT="BACKUP DATABASE '/dmdba/BP11/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdba/BP11/bak'"  USE_AP=2

#还原BP12实例

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP12/dm.ini' FROM   BACKUPSET '/dmdba/BP11/bak'" USE_AP=2
#因为脱机备份没有产生任何 REDO 日志,所以此处省略恢复数据库的操作步骤
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP12/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

#还原BP13实例

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP13/dm.ini' FROM   BACKUPSET '/dmdba/BP11/bak'" USE_AP=2
#因为脱机备份没有产生任何 REDO 日志,所以此处省略恢复数据库的操作步骤
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP13/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

3.2 配置BP2

3.2.1 配置BP21归档

#配置归档参数

#vim /dmdba/BP21/dm.ini    #arch_ini
#ARCH_INI = 1 #打开归档配置
sed -i   -e   's/[ ]*ARCH_INI[ ]*=[ ]*0/ARCH_INI = 1/'   /dmdba/BP21/dm.ini   &&  grep   -E 'ARCH_INI'  /dmdba/BP21/dm.ini 

#配置归档参数文件

#vim /dmdba/BP21/dmarch.ini    #arch_ini
mkdir -p /dmdba/BP21/arch
cat >/dmdba/BP21/dmarch.ini<<EOF
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL     # 本地归档类型
ARCH_DEST = /dmdba/BP21/arch   #本地归档文件路径
ARCH_FILE_SIZE = 128     #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 1024        #本地归档文件总大小 ,0 表示无限制
EOF

3.2.2 配置BP2实例

#启动BP21实例,前台启动,启动后关闭

dmserver  /dmdba/BP21/dm.ini    dpc_mode=bp  
#ctrl + c

#备份BP21实例数据库

dmrman CTLSTMT="BACKUP DATABASE '/dmdba/BP21/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdba/BP21/bak'"  USE_AP=2

#还原BP22实例

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP22/dm.ini' FROM   BACKUPSET '/dmdba/BP21/bak'" USE_AP=2
#因为脱机备份没有产生任何 REDO 日志,所以此处省略恢复数据库的操作步骤
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP22/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

#还原BP23实例

dmrman CTLSTMT="RESTORE DATABASE '/dmdba/BP23/dm.ini' FROM   BACKUPSET '/dmdba/BP21/bak'" USE_AP=2
#因为脱机备份没有产生任何 REDO 日志,所以此处省略恢复数据库的操作步骤
#更新数据库:
dmrman CTLSTMT="RECOVER DATABASE '/dmdba/BP23/dm.ini' UPDATE  DB_MAGIC" USE_AP=2

4. 修改参数文件

4.1 修改BP1参数文件

#注意实例和参数位置

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

4.2 修改BP2参数文件

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

5. 设置集群归档

5.1 RAFT1的BP组

#创建归档目录

mkdir -p /dmdba/BP12/arch
mkdir -p /dmdba/BP13/arch

#修改归档配置文件(注意节点号、实例名、目标位置和路径)

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

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

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

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP11/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF
cat >/dmdba/BP12/dmarch.ini    <<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 1000 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 2       # 多副本自身节点 ID  

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

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

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP12/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF
cat >/dmdba/BP13/dmarch.ini    <<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 1500 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 3       # 多副本自身节点 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_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP13/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF

5.2 RAFT2的BP组

#创建归档目录

mkdir -p /dmdba/BP22/arch
mkdir -p /dmdba/BP23/arch

#修改归档配置文件(注意节点号、实例名、目标位置和路径)

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

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

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

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP21/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF
cat >/dmdba/BP22/dmarch.ini    <<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 1000 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 5      # 多副本自身节点 ID  

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

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

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL   #本地归档类型
ARCH_DEST = /dmdba/BP22/arch      #本地归档文件路径
ARCH_FILE_SIZE = 128    #本地单个归档文件最大值 单位 MB
ARCH_SPACE_LIMIT = 0      #本地归档文件总大小 ,0 表示无限制
EOF
cat >/dmdba/BP23/dmarch.ini    <<EOF
XMAL_HB_INTERVAL = 5 #节点通信检测间隔
RAFT_HB_INTERVAL = 150 #选举心跳间隔
RAFT_VOTE_INTERVAL = 1500 #选举超时时间 三个库设置不同以尽快选出主库
RAFT_SELF_ID = 6      # 多副本自身节点 ID  

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

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

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

6. 启动服务

6.1 启动SP服务

dmserver   /dmdba/SP1/dm.ini    dpc_mode=SP  

6.2 启动BP服务

dmserver /dmdba/BP11/dm.ini dpc_mode=BP  MOUNT   &
dmserver /dmdba/BP12/dm.ini dpc_mode=BP  MOUNT   &
dmserver /dmdba/BP13/dm.ini dpc_mode=BP  MOUNT   &
dmserver /dmdba/BP21/dm.ini dpc_mode=BP  MOUNT   &
dmserver /dmdba/BP22/dm.ini dpc_mode=BP  MOUNT   &
dmserver /dmdba/BP23/dm.ini dpc_mode=BP  MOUNT   &

7. 查看DPC服务情况

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 PRIMARY  4           1           BP INSTANCE 192.168.20.134 65536
           0                    NULL

6          2           4101        BP22 BP       6006        5242        192.168.20.134 STANDBY  4           0           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


8 rows got

已用时间: 0.206(毫秒). 执行号:605.

8. 注册服务

8.1 SP节点注册SP服务

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

8.2 MP节点注册MP服务

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

8.3 BP节点注册BP服务

#BP节点注册状态为mount

8.3.1 BP1组

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

8.3.2 BP2组

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

四、 简单测试DPC可用性

1. 创建表空间

[dmdba@localhost ~]$ disql sysdba/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 17.933(ms)
disql V8
SQL> CREATE TABLESPACE TS_1   DATAFILE 'TS_1.DBF' SIZE 128 STORAGE( ON RAFT_1);
操作已执行
已用时间: 206.105(毫秒). 执行号:12582913.
SQL>

2. 创建用户并赋权

SQL> create user test_wang identified by Test_wang123;
操作已执行
已用时间: 25.255(毫秒). 执行号:12582914.
SQL> alter user test_wang default tablespace TS_1;
操作已执行
已用时间: 62.731(毫秒). 执行号:12582915.
SQL> grant resource,public,SVI to test_wang;
操作已执行
已用时间: 11.474(毫秒). 执行号:12583114.

3. 连接建表查看

SQL> connect test_wang/Test_wang123;

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 12.687(ms)
SQL> create table t1(id int,name varchar(20));
操作已执行
已用时间: 24.580(毫秒). 执行号:12583213.
SQL>
SQL>  SP_TABLEDEF('TEST_WANG','T1') ;

行号  COLUMN_VALUE
---- ---------------------------------------------------------------------------------------------
1    CREATE TABLE "TEST_WANG"."T1" ("ID" INT, "NAME" VARCHAR(20)) STORAGE(ON "TS_1", CLUSTERBTR) ;

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

作者

文章

阅读量

获赞

扫一扫
联系客服