MPP集群环境搭建
一、系统规划
配置一个两节点MPP。两个节点都配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机。两节点实例名分别为EP01和EP02,相关的IP、端口等规划见下表。
实例名 | MAL_INST_HOST | MAL_INST_PORT | MAL_HOST | MAL端口 | MPP_SEQNO |
---|---|---|---|---|---|
EP01 | 192.168.1.11 | 5236 | 192.168.0.12 | 5269 | 0 |
EP02 | 192.168.1.21 | 5237 | 192.168.0.22 | 5270 | 1 |
注:DM MPP各EP使用的DM服务器版本应一致,同时还应注意各EP所在主机的操作系统位数、大小端模式、时区及时间设置都应一致,否则可能造成意想不到的错误。
二、配置dm.ini
在配置之前,在EP01和EP02上分别创建数据库,用户可以使用DM的图形化客户端工具“数据库配置助手”或命令行工具dminit创建数据库。
分别对两个实例的dm.ini进行配置。
-
修改EP01的dm.ini的以下几个参数:
INSTANCE_NAME = EP01 PORT_NUM = 5236 MAL_INI = 1 MPP_INI = 1
-
修改EP02的dm.ini的以下几个参数:
INSTANCE_NAME = EP02 PORT_NUM = 5237 MAL_INI = 1 MPP_INI = 1
三、配置dmmal.ini
为两个EP配置dmmal.ini如下,配置完全一样,EP间可互相拷贝。dmmal.ini与dm.ini放在相同的目录下。
[MAL_INST1] MAL_INST_NAME = EP01 MAL_HOST = 192.168.0.12 MAL_PORT = 5269 MAL_INST_HOST = 192.168.1.11 MAL_INST_PORT = 5236 [MAL_INST2] MAL_INST_NAME = EP02 MAL_HOST = 192.168.0.22 MAL_PORT = 5270 MAL_INST_HOST = 192.168.1.21 MAL_INST_PORT = 5237
四、配置dmmpp.ctl
dmmpp.ctl是一个二进制文件,用户不能直接配置,需要先配置dmmpp.ini。
配置dmmpp.ini如下:
[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”子目录中。
转换生成的dmmpp.ctl需要放在与dm.ini同一个目录。假设DM的安装路径为c盘根目录,下面的命令将dmmpp.ini转换为dmmpp.ctl,命令中的“TYPE=2”参数表示将文本文件转换成控制文件,也可以使用“TYPE=1”参数进行逆向转换。
dmctlcvt TYPE=2 SRC=c:\dmdbms\data\dameng\dmmpp.ini DEST=c:\dmdbms\data\dameng\dmmpp.ctl
将生成的dmmpp.ctl拷贝至另一EP,保证MPP系统中所有EP的dmmpp.ctl完全相同。
五、运行MPP
经过前面几个步骤,MPP环境已经配置完成了。分别启动EP01和EP02的DM数据库实例(顺序不分先后),DM MPP系统即能正常运行,用户就可以登录任一EP进行数据库操作了。
六、停止MPP系统
需要停止MPP系统的运行时,只需要停止每个EP的DM实例即可,没有特别的顺序要求。
若在MPP系统的运行过程中,某一EP发生故障停机,则整个MPP系统将处于不能正常服务的状态。当前所有的用户会话会被系统断开,不能进行全局登录,只能进行本地登录。