DM8数据库MPP集群配置

Posted myflyand

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DM8数据库MPP集群配置相关的知识,希望对你有一定的参考价值。

DM8数据库MPP集群配置

一、部署规划

MPP集群适合分析型应用环境。

以下以2节点MPP集群部署规划

主机名

服务ip

心跳ip

数据库名

实例名

MPP01

192.168.3.21

192.168.3.22

DAMENG

dmmpp1

MPP02

192.168.3.23

192.168.3.24

DAMENG

dmmpp2

端口规划:

实例名

实例端口

MAL系统监听 TCP 连接的端口

dmmpp1

5236

5269

dmmpp2

5237

5270

目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)

数据库软件安装目录

/db/dmdbms

实例安装目录

/dm/dmdbms/data

二、数据库软件安装

注:所有服务器节点都需要安装数据库软件。

2.1 操作系统配置

2.1.1 操作系统用户创建

groupadd -g 12349 dinstall

useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

passwd dmdba

2.1.2 修改操作系统用户变量

使用dmdba用户执行以下命令:

vi .bash_profile

添加如下内容:

export DM_HOME=/dm/dmdbms

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

变量生效:

[dmdba@DM1 ~]$ source .bash_profile

2.1.3 修改操作系统用户资源限制

使用root用户执行以下命令:

vi /etc/security/limits.conf

添加如下内容:

dmdba  soft      nice       0

dmdba  hard      nice       0

dmdba  soft      as         unlimited

dmdba  hard      as         unlimited

dmdba  soft      fsize      unlimited

dmdba  hard      fsize      unlimited

dmdba  soft      nproc      65536

dmdba  hard      nproc      65536

dmdba  soft      nofile     65536

dmdba  hard      nofile     65536

dmdba  soft      core       unlimited

dmdba  hard      core       unlimited

dmdba  soft      data       unlimited

dmdba  hard      data       unlimited

2.1.4 修改操作系统参数

使用root用户执行以下命令:

vi /etc/sysctl.conf

添加如下内容:

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

vm.swappiness = 0

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

kernel.core_pattern=/coredump/%e.core.%p

参数生效:

sysctl -p

2.1.5 安装目录创建

使用root用户执行以下命令:

mkdir -p /dm/dmdbms

chown -R dmdba:dinstall /dm

2.2 数据库软件安装

2.2.1 解压软件包

使用root用户执行以下命令:

unzip dm8_20210630_x86_rh6_64_ent.zip

chown dmdba:dinstall DM*

2.2.2 数据库软件安装

注:主备节点和监视器节点都需安装数据库软件

使用dmdba用户执行以下命令:

./DMInstall.bin -i

Please select the installer\'s language (E/e:English C/c:Chinese) [E/e]:c

解压安装程序..........

欢迎使用达梦数据库安装程序

 

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

 

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:21

 

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 1178M

 

请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms

可用空间: 36G

是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

 

安装前小结

安装位置: /dm/dmdbms

所需空间: 1178M

可用空间: 36G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

2021-10-07 18:11:25

[INFO] 安装达梦数据库...

2021-10-07 18:11:25

[INFO] 安装 基础 模块...

2021-10-07 18:12:10

[INFO] 安装 服务器 模块...

2021-10-07 18:12:11

[INFO] 安装 客户端 模块...

2021-10-07 18:12:19

[INFO] 安装 驱动 模块...

2021-10-07 18:12:21

[INFO] 安装 手册 模块...

2021-10-07 18:12:23

[INFO] 安装 服务 模块...

2021-10-07 18:12:24

[INFO] 移动日志文件。

2021-10-07 18:12:24

[INFO] 安装达梦数据库完成。

 

请以root系统用户执行命令:

/dm/dmdbms/script/root/root_installer.sh

 

安装结束

三、MPP集群配置

3.1 创建数据库实例

所有节点都需创建数据库实例

使用dmdba用户执行如下操作命令:

dminit path=/dm/dmdbms/data page_size=32 charset=1 log_size=256

3.2 配置dm.ini

所有节点都需配置dm.ini文件。

MPP01:

使用dmdba用户执行以下命令:

vi dm.ini

修改如下内容:

INSTANCE_NAME  = dmmpp1

PORT_NUM  = 5236

MAL_INI = 1

MPP_INI = 1

MPP02:

使用dmdba用户执行以下命令:

vi dm.ini

修改如下内容:

INSTANCE_NAME  = dmmpp2

PORT_NUM  = 5237

MAL_INI = 1

MPP_INI = 1

DM02:

使用dmdba用户执行以下命令:

vi dm.ini

修改如下内容:

INSTANCE_NAME = dmrw3

MAL_INI = 1

ARCH_INI = 1

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

3.3 配置dmmal.ini

所有节点都需配置dmmal.ini文件,在dm.ini文件同级目录下创建dmmal.ini文件。所有节点的dmmal.ini文件内容需保持一致。

vi dmmal.ini

添加如下内容:

[MAL_INST1]

MAL_INST_NAME = dmmpp1

MAL_HOST = 192.168.3.22

MAL_PORT = 5269

MAL_INST_HOST = 192.168.3.21

MAL_INST_PORT = 5236

[MAL_INST2]

MAL_INST_NAME = dmmpp2

MAL_HOST = 192.168.3.24

MAL_PORT = 5270

MAL_INST_HOST = 192.168.3.23

MAL_INST_PORT = 5237

3.4 配置dmmpp.ini

所有节点都需配置dmmpp.ini文件,在dm.ini文件同级目录下创建dmmpp.ini文件。所有节点的dmmpp.ini文件内容需保持一致。

vi dmmpp.ini

添加如下内容:

[SERVICE_NAME1]

MPP_SEQ_NO = 0

MPP_INST_NAME  = dmmpp1

[SERVICE_NAME2]

MPP_SEQ_NO = 1

MPP_INST_NAME  = dmmpp2

3.5 dmmpp.ini转换成dmmpp.ctl

在所有数据库节点,使用dmdba用户执行以下命令:

dmctlcvt TYPE=2 SRC=/dm/dmdbms/data/DAMENG/dmmpp.ini DEST=/dm/dmdbms/data/DAMENG/dmmpp.ctl

3.6 注册数据库服务

在所有数据库节点,使用root用户执行以下命令:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p dmmpp -dm_ini /dm/dmdbms/data/DAMENG/dm.ini

3.7 启动MPP集群

在所有数据库节点,使用root用户执行以下命令:

systemctl enable DmServicedmmpp.service

systemctl start DmServicedmmpp.service

3.8 验证集群状态

在任意节点使用dmdba用户执行以下语句:

disql sysdba/SYSDBA

SQL> select instance_name from v$instance;

 

行号     INSTANCE_NAME

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

1          DMMPP2

2          DMMPP1

 

已用时间: 24.068(毫秒). 执行号:295715.

查询结果显示集群有两个节点,证实集群状态正常。

四、数据库参数调整

执行参数优化脚本,优化数据库参数。

五、重启MPP集群

在所有节点使用root用户执行以下命令:

关闭数据库实例:systemctl stop DmServiceGRP1_RT_01.service

在所有节点使用root用户执行以下命令:

启动数据库实例:systemctl start DmServiceGRP1_RT_01.service

 

 想要获取达梦数据库更多的学习资料,可登陆达梦数据云适配中心(https://eco.dameng.com/)获取。

mpp不带主备集群搭建

mpp集群(不带主备)搭建

一、主备环境

实例名

MAL_HOST

PORT_NUM

MAL_PORT

MALL_DW_PORT

MPP_SEQNO

EP01

192.168.138.198

5236

5337

5253

0

EP02

192.168.138.199

5236

5337

5253

1

      

二、配置

1、创建实例

./dminit PATH=/home/dmdba/dmdbms/data/EP01 INSTANCE_NAME="EP01" PORT_NUM=5236

./dminit PATH=/home/dmdba/dmdbms/data/EP02 INSTANCE_NAME="EP02" PORT_NUM=5236

  • 注意要初始化完成后要分别开停库一次。

2、配置dm.ini

EP01:

INSTANCE_NAME= EP01

PORT_NUM= 5236

MAL_INI= 1

MPP_INI= 1

EP02:

INSTANCE_NAME= EP02

PORT_NUM= 5236

MAL_INI= 1

MPP_INI= 1

3、配置dmmal.ini

为两个EP配置dmmal.ini如下,配置完全一样,EP间可互相拷贝。dmmal.inidm.ini放在相同的目录下

[MAL_INST1]

MAL_INST_NAME = EP01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致

MAL_HOST = 192.168.138.198 #MAL 系统监听 TCP 连接的 IP 地址 MAL_PORT = 5337 #MAL 系统监听 TCP 连接的端口

MAL_INST_HOST = 192.168.168.198 #实例的对外服务 IP 地址 MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的PORT_NUM一致

[MAL_INST2]

MAL_INST_NAME = EP02

MAL_HOST = 192.168.138.199

MAL_PORT = 5337

MAL_INST_HOST = 192.168.138.199

MAL_INST_PORT = 5236

4、配置dmmpp.ctl

[SERVICE_NAME1]

MPP_SEQ_NO = 0

MPP_INST_NAME= EP01

[SERVICE_NAME2]

MPP_SEQ_NO = 1

MPP_INST_NAME= EP02

使用DM提供的工具dmctlcvtdmmpp.ini转换成dmmpp.ctldmctlcvt工具在DM安装目录的"bin"子目录中。

[dmdba@MPP01 bin]$ ./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/data/EP01/DAMENG/dmmpp.ini DEST=/home/dmdba/dmdbms/data/EP01/DAMENG/dmmpp.ctl

3、运行

分别启动EP01EP02的数据库实例就可以了、顺序不分先后。DM MPP系统即能正常运行,用户就可以登录任一EP进行数据库操作了。

SQL> create table users(uname varchar(10),age int);

EP01中创建表格并插入数据

insert into users values(\'hyf\',20);
insert into users values(\'messi\',33);
commit;

EP02中查找,发现能查找出刚才的数据。

  • 注意:[dmdba@MPP02 bin]$ ./disql SYSDBA/SYSDBA@192.168.138.199:5236 是全局登录

    查看本地数据可以使用

    [dmdba@MPP02 bin]$ ./disql SYSDBA/SYSDBA*local@192.168.138.199:5236

EP01实例关闭制造故障

EP02中插入数据:

SQL> insert into users values(\'torries\',37);commit;

可以插入成功,可见即使一个节点故障另一个节点依旧能提供服务。

以上是关于DM8数据库MPP集群配置的主要内容,如果未能解决你的问题,请参考以下文章

GBase 8a MPP Cluster 安装部署过程

GBase 8a MPP Cluster 安装部署过程

MPP - GreenPlum数据库安装以及简单使用

主流MPP解决方案Postgres-XL集群修炼之路视频课程

MPP(大规模并行处理)

比较smp 、ssmp 、cc -numa 、基于集群的mpp 及dsm 在体系结构的异同点?