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和端口规划

二、 环境准备
1. 虚拟机准备
首先创建四台虚拟机,当前为测试环境,因此仅需少量资源。
1.1 SP服务器

1.2 MP服务器

1.3 BP1服务器

1.4 BP2服务器

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>



