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.ini与dm.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提供的工具dmctlcvt将dmmpp.ini转换成dmmpp.ctl,dmctlcvt工具在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、运行
分别启动EP01和EP02的数据库实例就可以了、顺序不分先后。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集群配置的主要内容,如果未能解决你的问题,请参考以下文章