首页 > 其他分享 >dmdpc安装部署

dmdpc安装部署

时间:2024-04-11 16:35:13浏览次数:18  
标签:部署 dmdpc SP dmdbms data BP RAFT 安装 DAMENG

环境:
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/[email protected]: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/[email protected]: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

 

标签:部署,dmdpc,SP,dmdbms,data,BP,RAFT,安装,DAMENG
From: https://www.cnblogs.com/hxlasky/p/18129494

相关文章

  • 鸿蒙开发TypeScript语言:【TypeScript 安装】
    TypeScript安装本文介绍TypeScript环境的安装。我们需要使用到npm工具安装。NPM安装TypeScript如果你的本地环境已经安装了npm工具,可以使用以下命令来安装。使用国内镜像:npmconfigsetregistryhttps://registry.npmmirror.com安装typescript:npminstall-g......
  • 新建微服务工程并形成jar包,部署到docker容器
    流程:1.创建微服务使用springcloud  2.打jar包:  3.把jar包上传到linux服务器中。4.编写dockerfile文件vimdockerfiledockerfile文件内容: 5.构建镜像 dockerbuild-tzzyy_docker:1.6. 6.运行容器dockerrun-d-p6001:6001容器Id  7.访问测......
  • k8s~pod单副本的平滑部署
    如果你的服务器资源紧张,pod可能只能是单副本了,这时在进行平滑的滚动部署时,应该如何配置呢?总不能在部署期间503吧,这是不能接受的!maxUnavailable来配置不可用数量我们可以在spec.strategy.strategy.rollingUpdate中,将不可用数maxUnavailable改成0即可实现平滑部署,配置如下:apiVers......
  • Docker生态架构及部署
    一、Docker生态架构1、生态架构1.1DockerHost用于安装Dockerdaemon的主机,即为DockerHost,并且该主机中可基于容器镜像运行容器。1.2Docker daemon用于管理DockerHost中运行的容器、容器镜像、容器网络等,管理由Containerd.io......
  • npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案
    1.删除用户界面下的npmrc文件(注意一定是用户C:\Users\{账户}\下的.npmrc文件下不是nodejs里面)2.清除缓存,注意不要用npmcacheclean--force,容易出现npmWARNusing--forceIsurehopeyouknowwhatyouaredoing.要用:npmcacheverify3.设置镜像源:npmconfigsetregis......
  • 补充 windows系统安装多个MySQL版本
    一、为什么想要安装多个版本?如果你发现自身的mysql太低,不能完好的导入sql文件,又因为原本的mysql的存储重要数据,于是多开的mysql的想法出现,其实就是开个其他的端口,不要和原本的3306冲突就行。二、MySQL8.0下载MySQL8.0下载地址:https://dev.mysql.com/downloads/mysql/下载原......
  • Windows机器部署nginx并设置开机自启
    1.Windows安装nginx服务(1)下载nginx安装包      http://nginx.org/download/nginx-1.22.1.zip(3)解压安装                #进入目录修改配置文件(修改配置文件此处省略,根据自己的需求进行修改)     2.Windows设置nginx开机......
  • Dockerfile 安装centos案例
    1.编写dockerfile文件去安装cetos的操作步骤:   2.执行Dockerfile文件:dockerbuild-tcentosjava8:1.5.ps:其中,-t选项用于指定镜像的名称,centosjava8:1.5是你为镜像命名的名称,可以替换成其他任意名称。.表示当前目录,指示Docker在当前目录下寻找Dockerfil......
  • 云服务器同时安装宝塔和WAF防火墙共存教程
    云服务器同时安装宝塔和WAF防火墙共存教程前几天申请一台三年免费香港云服务器,已安装好宝塔申请视频教程:https://www.bilibili.com/video/BV1eZ421i7xr/下面安装雷池WAF为例安装WAF防火墙和宝塔共存,安装其他防火墙一样原理我们需要先部署到docker环境:Docker一键安......
  • 安装pnpm 和报错解决,亲测可行
    安装pnpm和报错解决,亲测可行pnpm是一款磁盘空间高效的软件包管理器。当使用npm或Yarn时,如果你有1000个项目,并且所有项目都有一个相同的依赖包,那么,你在硬盘上就需要保存100份该相同依赖包的副本。然而,如果是使用pnpm,依赖包将被存放在一个统一的位置,因此以项目和依赖包......