在上一篇博客里面我们对达梦数据库的达梦DMMPP大规模并行集群进行了理论学习。本篇技术分享文章是基于Linux下达梦DMMPP大规模并行集群集群的动手实践部署过程。
一、集群规划
1.1基础环境介绍
硬件:两台相同配置虚拟机,2G 内存,5G本地磁盘,2块网卡。
操作系统:CentOS 8 Linux 64位。
DM 各种工具位于目录:/dm8/dmdbms/bin。
已经部署DM8企业版数据库软件。数据库软件部署及环境配置操作可以参考之前的单机部署博客。
1.2本地目录规划
用途 | 目录路径 | 备注 |
数据库软件安装目录 | /dm8/dmdbms | 建议可用空间>5 GB |
实例安装目录 | /dmdata | 建议单独挂载磁盘 |
本地归档日志存放目录 | /dmarch | 建议单独挂载磁盘 |
备份文件存放目录 | /dmbak | 建议单独挂载磁盘 |
1.3网络和端口规划
搭建 2 节点MPP集群,端口规划如下:(实际中可以按需要修改端口号)
主机名 | public ip | private ip | 实例名 | 端口 | 用途 |
dsc1 | 192.168.1.9 | 192.168.10.9 | mpp1 | 5236 | 数据库实例 mpp1监听端口 |
7236 | MAL 系统监听 TCP 连接的端口 | ||||
dsc2 | 192.168.1.10 | 192.168.10.10 | mpp2 | 5236 | 数据库实例mpp2监听端口 |
7236 | MAL 系统监听 TCP 连接的端口 |
二、集群环境部署操作实践
达梦大规模并行处理MPP(DM Massively Parallel Processing,缩写DM MPP)是基于达梦数据库管理系统研发的完全对等无共享式集群组件,支持将多个DM数据库实例组织为一个并行计算网络,对外提供统一的数据库服务。本次实践以2节点mpp为示例。整个安装部署过程大致分为 6个大的步骤:
步骤1、数据库安装与初始化
数据库软件安装详见之前分享博客内容。
软件安装目录为 /dm8/dmdbms,实例初始化目录/dmdata/dmmpp,初始化脚本如下:
./dminit path=/dmdata unicode_flag=1 sysdba_pwd=1234567890 db_name=dmmpp page_size=32
dsc 1
dsc 2
步骤2、MPP集群配置文件修改与新建
2.1配置实例的配置文件 dm.ini
修改实例的 dm.ini 文件参数,执行以下命令:vi /dmdata/dmmpp/dm.ini
dsc1节点的dmmpp1 实例修改以下参数值:
INSTANCE_NAME = dmmpp1
MAL_INI = 1
MPP_INI = 1
dsc2 节点 的dmmpp2 实例修改以下参数值:
INSTANCE_NAME = dmmpp2
MAL_INI = 1
MPP_INI = 1
2.2配置MAL系统配置文件dmmal.ini
执行以下命令,在实例目录下新建文件 dmmal.ini:
vi /dmdata/dmmpp/dmmal.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.10.9 #MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 7236 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.9 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
[MAL_INST2]
MAL_INST_NAME = dmmpp2 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.10.10 # MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 7236 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.10 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
2.3配置 MPP 控制文件 dmmpp.ctl
在其中一个节点新建 dmmpp.ini 配置文件,此次部署是在dsc1节点执行以下命令:
vi /dmdata/dmmpp/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/dmmpp/dmmpp.ini DEST=/dmdata/dmmpp/dmmpp.ctl
将生成的 dmmpp.ctl 控制文件复制到另一个节点的实例目录下。
scp -r /dmdata/dmmpp/dmmpp.ctl dmdba@192.168.1.10:/dmdata/dmmpp/
dsc1
dsc2
步骤4、MPP集群数据启动
正常启动实例即可,在数据库安装的 bin 目录下执行以下命令:
./dmserver /dmdata/dmmpp/dm.ini
dsc1
dsc2
需要所有节点都启动后,集群才能访问。
成功拉起后,初步完成DMMPP集群搭建。
最后,可登录disql,查询验证集群和各节点信息。
步骤5、注册DMMPP服务
在确认配置正常后需要注册为系统服务,方便启动和关闭集群以及实现开机自动启动。
root 用户下切换到 /dm8/dmdbms/script/root/,执行以下命令:
cd /dm8/dmdbms/script/root/
脚本注册服务,执行以下命令:
./dm_service_installer.sh -t dmserver -p dmmpp -dm_ini /dmdata/dmmpp/dm.ini
dsc1
dsc2
以服务方式启动实例,执行以下命令:
systemctl start DmServicedmmpp
步骤6、客户端验证
任意节点配置 dm_svc.conf 文件,执行以下命令:
vi /etc/dm_svc.conf,添加以下内容:
dmmpp=(192.168.1.9:5236,192.168.1.10:5236)
使用 disql 工具登录任意节点。(数据库安装目录的 bin 下):
./disql SYSDBA/1234567890@dmmpp
查询可以看到所有节点实例信息。
select instance_name from v$instance;
此外,对于生产环境来说,开归档、配置服务名(DM_SVC.CONF)以及做好数据的备份规划配置是非常有必要的。
三、部署小结
本文首先介绍了达梦数据库DSC集群安装前的部署规划相关工作;然后,进行了DMMPP集群的安装部署操作实践,整个安装部署大体上分为 数据库安装与初始化、MPP集群配置文件修改与新建、MPP集群启动验证、集群启动注册服务及客户端登录验证这6个大的阶段步骤。本文的最后,简要介绍了集群管理相关内容和客户端连接MPP集群相关内容供大家学习过程中的练习参考。
以上是这次技术分享的相关内容,欢迎给我留言进行交流指导。
附:
1、集群启停管理操作
重启集群
所有节点重启实例,执行以下命令:
systemctl restart DmServicedmmpp
dsc1
dsc2
关闭集群
systemctl stop DmServicedmmpp
dsc1
dsc2
2、客户端连接集群
客户端主机上需要配置 dm_svc.conf 文件(未安装 DM 数据库的机器新建即可),文件路径:
32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录;
64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录;
32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录;
在 Linux 平台下,此文件位于/etc 目录。
文件内容:
# 以#开头的行表示是注释
# 全局配置区
DMMPP=(192.168.1.9:5236,192.168.1.10:5236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服务配置区
[DMMPP]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(2)
SWITCH_TIME=(3) #在服务器之间切换的次数
SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒
客户端程序连接数据库时,需要指定 IP 端口处替换为服务名即可,例如:
disql SYSDBA/1234567890@DMMPP
DM 武汉达梦数据库股份有限公司 24小时免费服务热线:400 991 6599
达梦技术社区:https://eco.dameng.com