dmdpc安装部署

环境:
OS:Centos 7
DM:DMV8

达梦分布计算集群英文全称 DM Distributed Processing Cluster,简称 DMDPC.
计划生成节点,英文全称为 SQL Processor,简称为SP;
数据存储节点,英文全称为 Backend Processor,简称为BP;
元数据服务器节点,英文全称为 Metadata Processor,简称为 MP.

一个最小的 DMDPC 集群包含一个 BP、一个 SP 和一个 MP.
可以在部署完毕后随时增添新的 BP、SP 节点。至少需要两台 BP 才方便看出子任务的各种计划形态和调度,
本试验将在一部 Linux 虚拟机上通过创建四个实例的方式进行集群搭建.

DMDPC 集群规划部署 1 个 SP,2 个 BP 和 1 个 MP,其中,BP 采用单机模式,未配置为多副本系统,

 

RAFT组名                   实例名称        IP                PORT_NUM      AP_PORT_NUM        路径
RAFT_SP1                   SP1            192.168.56.103    5236          6000              /dmdbms/data/sp1
RAFT_1                     BP1            192.168.56.103    5237          6001              /dmdbms/data/bp1
RAFT_2                     BP2            192.168.56.103    5238          6002              /dmdbms/data/bp2
缺省为 NULL 或者MP_RAFT     MP              192.168.56.103    5239          6003              /dmdbms/data/mp

 

1.安装达梦数据库软件
确保DMap已经在运行
[root@localhost /]# systemctl status DmAPService.service

 

2.初始化数据库实例

su - dmdba
dminit path=/dmdbms/data/sp1 instance_name=SP1 port_num=5236 ap_port_num=6000 dpc_mode=SP 
dminit path=/dmdbms/data/bp1 instance_name=BP1 port_num=5237 ap_port_num=6001 dpc_mode=BP 
dminit path=/dmdbms/data/bp2 instance_name=BP2 port_num=5238 ap_port_num=6002 dpc_mode=BP
dminit path=/dmdbms/data/mp  instance_name=MP  port_num=5239 ap_port_num=6003 dpc_mode=MP

初始化后的目录:
[dmdba@localhost data]$ ls
bp1  bp2  mp  sp1
[dmdba@localhost data]$ pwd
/dmdbms/data

每个目录下都要DAMENG这个目录
[dmdba@localhost DAMENG]$ pwd
/dmdbms/data/bp1/DAMENG
[dmdba@localhost DAMENG]$ pwd
/dmdbms/data/bp2/DAMENG
[dmdba@localhost DAMENG]$ pwd
/dmdbms/data/mp/DAMENG
[dmdba@localhost DAMENG]$ pwd
/dmdbms/data/sp1/DAMENG

 

3.在四个实例的 DAMENG 目录下配置 mp.ini 文件

vi /dmdbms/data/bp1/DAMENG/mp.ini
mp_host = 192.168.56.103
mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号


vi /dmdbms/data/bp2/DAMENG/mp.ini
mp_host = 192.168.56.103
mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

vi /dmdbms/data/mp/DAMENG/mp.ini
mp_host = 192.168.56.103
mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

vi /dmdbms/data/sp1/DAMENG/mp.ini
mp_host = 192.168.56.103
mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

 

4.启动 MP

DMDPC 运行过程中,MP 需要始终处于开启状态
su - dmdba
cd /dmdbms/product/bin
./dmserver /dmdbms/data/mp/DAMENG/dm.ini dpc_mode=MP

 

5.将MP、SP和BP 加入集群

增加 1 个 MP、1 个 SP 和 2 个 BP 节点,只有在注册当前登录 MP 节点后,才可以注册其余节点。后续增加 MP、SP 节点和 BP 节点无先后之分.
//搭建DMDPC过程中加入MP、SP和BP,必须登录MP进行操作
disql SYSDBA/SYSDBA@192.168.56.103:5239

//增加MP节点
//注册当前MP实例,MP的RAFT组名可以指定为NULL或者'MP_RAFT'
SP_CREATE_DPC_INSTANCE(NULL,'MP','MP',6003,5239, '192.168.56.103', '192.168.56.103','NORMAL',1,'MP instance');

//增加两个BP节点:BP1和BP2
//注册RAFT组,名为RAFT_1
SP_CREATE_DPC_RAFT('BP','RAFT_1');
//在RAFT_1组内注册BP实例BP1
SP_CREATE_DPC_INSTANCE('RAFT_1','BP1','BP',6001,5237, '192.168.56.103', '192.168.56.103','NORMAL',1,'BP instance');

//注册RAFT_2
SP_CREATE_DPC_RAFT('BP', 'RAFT_2');
//在RAFT_2内注册BP实例BP2
SP_CREATE_DPC_INSTANCE('RAFT_2','BP2','BP',6002,5238, '192.168.56.103', '192.168.56.103', 'NORMAL', 1, 'BP instance');

//注册一个BP组,名为BG_1
SP_CREATE_DPC_BP_GROUP('BG_1', 'bp group1');
//往BP组中添加RAFT组
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_1');
SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_2');

//增加SP节点:SP1
//增加SP,也要注册RAFT组
SP_CREATE_DPC_RAFT('SP', 'RAFT_SP1');
//在RAFT_SP1内注册SP实例SP1
SP_CREATE_DPC_INSTANCE('RAFT_SP1','SP1','SP',6000,5236, '192.168.56.103', '192.168.56.103','NORMAL', 2, 'SP instance');

//注册一个容错域:FDOM_1 (可选,本试验中不进行该操作)
SP_CREATE_FAULT_DOMAIN ('FDOM_1','shanghai');
//往容错域中添加实例
SP_FAULT_DOMAIN_MV_INST('FDOM_1','MP');
SP_FAULT_DOMAIN_MV_INST('FDOM_1','BP1');
SP_FAULT_DOMAIN_MV_INST('FDOM_1','BP2');

注意:将SP和BP节点加入DMDPC集群中的步骤必须在SP、BP第一次启动前完成

 

6.检查注册是否成功
查询系统表,检查上一步骤的注册是否成功,能查到相关信息表示注册成功

SQL> select * from DPC_BP_GROUP;

LINEID     ID          NAME DESCRIPTION RAFT_NUM    RAFT_INFO  INFO1       INFO2                INFO3     
---------- ----------- ---- ----------- ----------- ---------- ----------- -------------------- ----------
1          0           BG_1 bp group1   2           0x01000200 0           NULL                 NULL

used time: 0.591(ms). Execute id is 67715.

SQL> select * from DPC_BP_RAFT;

LINEID     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

used time: 1.130(ms). Execute id is 67716.

SQL> select * from DPC_INSTANCE;

LINEID     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       6003        5239        192.168.56.103 NORMAL   4           1
           MP instance 192.168.56.103 65536       NULL                 NULL

2          1           4097        BP1  BP       6001        5237        192.168.56.103 NORMAL   6           1
           BP instance 192.168.56.103 65536       NULL                 NULL

3          2           4098        BP2  BP       6002        5238        192.168.56.103 NORMAL   6           1
           BP instance 192.168.56.103 65536       NULL                 NULL


LINEID     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          3           4099        SP1  SP       6000        5236        192.168.56.103 NORMAL   6           2
           SP instance 192.168.56.103 NULL        NULL                 NULL


used time: 0.590(ms). Execute id is 67717.

 

7.启动 SP 和 BP
启动 SP 和 BP 没有先后之分
启动 SP
su - dmdba
cd /dmdbms/product/bin
./dmserver /dmdbms/data/sp1/DAMENG/dm.ini dpc_mode=SP


启动 BP
su - dmdba
cd /dmdbms/product/bin
./dmserver /dmdbms/data/bp1/DAMENG/dm.ini dpc_mode=BP
./dmserver /dmdbms/data/bp2/DAMENG/dm.ini dpc_mode=BP


cd /dmdbms/product/bin
./dmserver /dmdbms/data/bp2/DAMENG/dm.ini dpc_mode=BP
至此 DMDPC 集群搭建完毕,用户只需要连接对外提供服务的 SP,即可获得完整的数据库服务

 

8.登录使用
用户只需要连接对外提供服务的SP,即可获得完整的数据库服务

disql SYSDBA/SYSDBA@192.168.56.103:5236
SQL> select name from v$database;

LINEID     NAME  
---------- ------
1          DAMENG
2          DAMENG
3          DAMENG

used time: 9.485(ms). Execute id is 12583013.
SQL> 

SQL> select name from v$instance;

LINEID     NAME
---------- ----
1          SP1
2          BP1
3          BP2
4          MP

used time: 4.804(ms). Execute id is 12583014.
SQL> 

SQL>  select path from v$datafile;

LINEID     PATH                              
---------- ----------------------------------
1          /dmdbms/data/sp1/DAMENG/TEMP.DBF
2          /dmdbms/data/mp/DAMENG/MAIN.DBF
3          /dmdbms/data/mp/DAMENG/ROLL.DBF
4          /dmdbms/data/mp/DAMENG/TEMP.DBF
5          /dmdbms/data/mp/DAMENG/SYSTEM.DBF
6          /dmdbms/data/bp1/DAMENG/SYSTEM.DBF
7          /dmdbms/data/bp1/DAMENG/ROLL.DBF
8          /dmdbms/data/bp1/DAMENG/TEMP.DBF
9          /dmdbms/data/bp2/DAMENG/SYSTEM.DBF
10         /dmdbms/data/bp2/DAMENG/ROLL.DBF
11         /dmdbms/data/bp2/DAMENG/TEMP.DBF


SQL> select arch_mode from v$database;

LINEID     ARCH_MODE
---------- ---------
1          N
2          N
3          N

used time: 3.540(ms). Execute id is 12583017.

 

9.创建表空间和用户(好像不是这么建的)
[dmdba@localhost ~]$ mkdir -p /dmdbms/data/DAMENG
[dmdba@localhost data]$ disql SYSDBA/SYSDBA
SQL> create tablespace tps_hxl datafile '/dmdbms/data/DAMENG/tps_hxl01.dbf' size 100 autoextend on;

这里的数据文件都不放在mp、sp、bp目录下,而是单独的目录/dmdbms/data/DAMENG

创建用户
SQL>CREATE USER hxl IDENTIFIED BY "dameng123" DEFAULT TABLESPACE tps_hxl;
SQL> grant dba to hxl;

使用新建的用户登录
disql hxl/dameng123
create table tb_hxl(id int,name varchar(32));
insert into tb_hxl values(1,'name1');
insert into tb_hxl values(2,'name1');
insert into tb_hxl values(3,'name1');
insert into tb_hxl values(4,'name1');
insert into tb_hxl values(5,'name1');
insert into tb_hxl values(6,'name1');
insert into tb_hxl values(7,'name1');
insert into tb_hxl values(8,'name1');
insert into tb_hxl values(9,'name1');
insert into tb_hxl values(10,'name1');

 

10.关闭顺序
使用 exit 命令退出 DMDPC 需要按照正确的顺序有序进行,按照如下顺序:退出 SP -> 退出 BP -> 退出 MP

 

posted @ 2024-04-11 16:24  slnngk  阅读(8)  评论(0编辑  收藏  举报