达梦8 dm8 mpp集群搭建

wuchangjian2021-11-08 13:23:19编程学习

DM8 MPP集群搭建步骤

  • 规划

主机名

服务ip

心跳ip

数据库名

实例名

Dmdb01

192.168.160.129

192.168.160.129

DAMENG1

dmmpp1

Dmdb02

192.168.160.128

192.168.160.128

DAMENG1

dmmpp2

    1. 端口规划

搭建 2 节点大规模并行集群,端口规划如下:

本地的虚拟机5236端口端口被其他实例占用

实例名

实例端口

MAL 系统监听 TCP 连接的端口

dmmpp1

6236

7236

dmmpp2

6236

7236

    1. 软件安装和数据存储目录设置

数据库软件安装目录

/usr/dm/dmdbms

实例安装目录

/usr/dm/dmData/DAMENG1

归档日志存放目录

/usr/dm/dmData/DAMENG1/arch

全量备份文件存放目录

/usr/dm/dmData/DAMENG1/bak

增量备份

/usr/dm/dmData/DAMENG1/inc

因为用的是本地环境,os参数已设置过,所以不在重新设置参数

  • 实例初始化

注意使用Root用户

  1. cd  /usr/dm/dmdbms/bin

库1 :

./dminit path=/usr/dm/dmData    DB_NAME=DAMENG1  INSTANCE_NAME=dmmpp1 PORT_NUM=6236

库2 :

./dminit path=/usr/dm/dmData    DB_NAME=DAMENG1  INSTANCE_NAME=dmmpp2 PORT_NUM=6236

  • 注册服务

Root 用户:

主备同时执行:

./dm_service_installer.sh -t dmserver -dm_ini  /usr/dm/dmData/DAMENG1/dm.ini -p DBSERVERmpp

注册结果:

  • 启动实例

使用dmdba用户启动

库1:

cd /usr/dm/dmdbms/bin/;

[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp  start

Starting DmServiceDBSERVERmpp: [ OK ]

启动后查询端口状态:

库2 :

[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp  start

Starting DmServiceDBSERVERmpp: [ OK ]

[dmdba@localhost bin]$

  • 归档设置
    1. 使用语句

ALTER DATABASE MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/usr/dm/dmData/DAMENG/arch,TYPE=LOCAL,FILE_SIZE=1024,SPACE_LIMIT=102400';

ALTER DATABASE OPEN;

    1. 设置结果截图

    1. 查询设置结果

--查看归档是否打开

 select arch_mode from v$database;

--查看归档日志信息

select arch_name,arch_type,arch_dest from v$dm_arch_ini;

库1

库2
 

  • 备份设置
    1. 全量备份设置
       
    2. 增量备份

    1. 备份清理

  • 相关配置修改和新增
    1. dm.ini

主备这2个参数都设置为1;

    1. dmmal.ini

在实例目录下新建文件 dmmal.ini

 /usr/dm/dmData/DAMENG1dmmal.ini

将以下内容加到文件中

MAL_CHECK_INTERVAL   = 5  #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL  = 5  #判定 MAL 链路断开的时间

[MAL_INST1]

  MAL_INST_NAME = dmmpp1 #与 dm.ini 中的 INSTANCE_NAME 一致

  MAL_HOST     = 192.168.160.129  #MAL 系统监听 TCP 内部网络 IP

  MAL_PORT     = 7236 #MAL 系统监听 TCP 连接的端口

  MAL_INST_HOST   = 192.168.160.129  #实例的对外服务 IP 地址

  MAL_INST_PORT   = 6236 #与 dm.ini 中的 PORT_NUM 一致

[MAL_INST2]

  MAL_INST_NAME = dmmpp2 #与 dm.ini 中的 INSTANCE_NAME 一致

  MAL_HOST      = 192.168.160.128  # MAL 系统监听 TCP 内部网络 IP

  MAL_PORT          = 7236 #MAL 系统监听 TCP 连接的端口

  MAL_INST_HOST         = 192.168.160.128  #实例的对外服务 IP 地址

  MAL_INST_PORT         = 6236 #与 dm.ini 中的 PORT_NUM 一致

    1. dmmpp.ini 

7.3在其中一个节点新建 dmmpp.ini 配置文件

[SERVICE_NAME1]
 MPP_SEQ_NO = 0
 MPP_INST_NAME = dmmpp1
[SERVICE_NAME2]
 MPP_SEQ_NO = 1
 MPP_INST_NAME = dmmpp2

使用 dmctlcvt 工具将 dmmpp.ini 文件转化为 dmmpp.ctl,在数据库安装的 bin 目录下执行以下命令:

./dmctlcvt TYPE=2 SRC=/dmdata/data/dmmpp/dmmpp.ini DEST=/dmdata/data/dmmpp/dmmpp.ctl

将生成的 dmmpp.ctl 控制文件复制到另一个节点的实例目录下。

执行结果如下:

  • 重启集群

正常启动实例即可,在数据库安装的 bin 目录下执行以下命令:

cd  /usr/dm/dmdbms/bin;

[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp stop

Stopping DmServiceDBSERVERmpp: [ OK ]

[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp start

Starting DmServiceDBSERVERmpp: [ OK ]

select   instance_name from v$instance ;

  • 客户端连接集群
    1. dm_svc.conf配置追加

在库1 和库2 主机

[dmdba@localhost etc]$ vi /etc/dm_svc.conf

新增以下:

TIME_ZONE=(480)

LANGUAGE=(cn)

DMMPP=(192.168.160.128:6236,192.168.160.129:6236)

TIME_ZONE=(+480) #表示+8:00 时区

LOGIN_ENCRYPT=(0)

DIRECT=(Y)

# 服务配置区

[DMMPP]

LOGIN_MODE=(0)

SWITCH_TIME=(3) #在服务器之间切换的次数

SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒

新增完成后重启数库

  • 测试
    1. 查询集群节点信息

[dmdba@localhost bin]$ disql SYSDBA/SYSDBA@DMMPP

服务器[192.168.160.128:6236]:处于普通打开状态

登录使用时间 : 1323.953(ms)

disql V8

SQL> select   instance_name from v$instance ;

行号     INSTANCE_NAME

---------- -------------

1          DMMPP2

2          DMMPP1

已用时间: 95.821(毫秒). 执行号:658719.

SQL>

    1. 在其中一个库上面建表并测试

create table zlz

(

"ID" INT not null

)

insert into  zlz (id) values (10);

insert into  zlz (id) values (11);

分别在2个库上面查询:

库1查询结果

库2查询结果

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。