DMDPC安装部署

1.DMDPC架构

DMDPC 架构由计划生成节点 SP、数据存储节点 BP 和元数据服务器节点MP 三部分组成:
        1、SP 对外提供分布式数据库服务,用户可以登录到任意一个 SP 节点,获得完整的数据库服务;
        2、BP 负责存储数据,执行 SP 的调度指令并将执行结果返回给 SP;
        3、MP负责存储元数据并向 SP、 BP 提供元数据服务。

 
本文是在1台Linux 虚拟机上通过创建四个实例的方式进行集群搭建.

2.DMDPC集群规划

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

RAFT组名 实例名称 IP  PORT_NUM AP_PORT_NUM 路径
RAFT_SP1 SP1 192.168.148.103 5236 6000 /data/dmdata/sp1
RAFT_1  BP1 192.168.148.103 5237 6001 /data/dmdata/bp1
RAFT_2 BP2 192.168.148.103 5238 6002 /data/dmdata/bp2
MP_RAFT  MP  192.168.148.103 5239 6003 /data/dmdata/mp

3.DPC集群搭建

3.1 安装数据库

查看DMap运行状态
        [root@localhost /]# systemctl status DmAPService.service

 3.2 初始化数据库实例

        su - dmdba

        dminit path=/data/dmdata/sp1 instance_name=SP1 port_num=5236 ap_port_num=6000 dpc_mode=SP

        dminit path=/data/dmdata/bp1 instance_name=BP1 port_num=5237 ap_port_num=6001 dpc_mode=BP

        dminit path=/data/dmdata/bp2 instance_name=BP2 port_num=5238 ap_port_num=6002 dpc_mode=BP

        dminit path=/data/dmdata/mp  instance_name=MP  port_num=5239 ap_port_num=6003 dpc_mode=MP

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

        vi /data/dmdata/bp1/DAMENG/mp.ini

        mp_host = 192.168.148.103

        mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

        vi /data/dmdata/bp2/DAMENG/mp.ini

        mp_host = 192.168.148.103

        mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

        vi /data/dmdata/mp/DAMENG/mp.ini

        mp_host = 192.168.148.103

        mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

        vi /data/dmdata/sp1/DAMENG/mp.ini

        mp_host = 192.168.148.103

        mp_port = 9000 #与MP、BP和SP上的ap_port_num不冲突的端口号

3.4 启动 MP

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

 3.5 将MP、SP和BP 加入集群

        增加 1 个 MP、1 个 SP 和 2 个 BP 节点。

登录MP

        disql SYSDBA/[email protected]:5239

//增加MP节点

        SP_CREATE_DPC_INSTANCE(NULL,'MP','MP',6003,5239, '192.168.148.103', '192.168.148.103','NORMAL',1,'MP instance');

注:注册当前MP实例,MP的RAFT组名可以指定为NULL或者'MP_RAFT'

//增加两个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.148.103', '192.168.148.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.148.103', '192.168.148.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.148.103', '192.168.148.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第一次启动前完成

3.6.检查注册是否成功

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

        SQL> select * from DPC_BP_GROUP;

        SQL> select * from DPC_BP_RAFT;

        SQL> select * from DPC_INSTANCE

3.7.启动 SP 和 BP


启动 SP
        su - dmdba
        cd /dmdbms/product/bin
        ./dmserver
/data/dmdata/sp1/DAMENG/dm.ini dpc_mode=SP

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


        cd /dmdbms/product/bin
        ./dmserver
/data/dmdata/bp2/DAMENG/dm.ini dpc_mode=BP

        注:启动 SP 和 BP 没有先后之分。DMDPC 集群搭建完毕,用户只需要连接对外提供服务的 SP,即可获得完整的数据库服务

 3.8登录使用

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

        disql SYSDBA/[email protected]:5236

        SQL> select name from v$database;

        SQL> select name from v$instance;

        SQL>  select path from v$datafile;

        SQL> select arch_mode from v$database;

3.9创建表空间和用户

        [dmdba@localhost ~]$ mkdir -p /data/dmdata/DAMENG
        [dmdba@localhost data]$ disql SYSDBA/SYSDBA
        SQL> create tablespace tps_hxl datafile '/data/dmdata/DAMENG/tps_hxl01.dbf' size 100 autoextend on;

注:该数据文件不放在mp、sp、bp目录下,而是放在单独的目录/data/dmdata/DAMENG

创建用户
        SQL>CREATE USER hxl IDENTIFIED BY "dameng1234!" 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');

4.集群关闭顺序

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

社区地址:https://eco.dameng.com

你可能感兴趣的:(数据库)