1 DM MPP
不适合于高并发操作的 OLTP 类型应用,如果网络是瓶颈,则并不是节点数越多越好。
建议配置千兆或万兆内部网络,对于查询连接中使用频率较高的连接键等可以考虑作为分布列。
2 DM MPP 环境搭建
实例名 EP01 EP02
3 安装用户
[root@localhost /]# groupadd dinstall -g 1002创建用户组dinstall
[root@localhost /]# useradd -g dinstall dmdba -u 1002创建属于dinstall用户组的用户dmdba
[root@localhost /]# passwd dmdba
输入一次密码
重新输入一次密码
创建成功
[root@localhost /]# mkdir /dm/dmdbms
[root@localhost /]# mkdir /dm/dmbak
[root@localhost /]# chown -R dmdba:dinstall /dm
[root@localhost /]# chown -R dmdba:dinstall /dbdata
[root@localhost /]# chown -R dmdba:dinstall /arch
4 配置 dmdba 用户环境变量
[dmdba@DM101 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dm/dmdbms/bin
export DM_HOME=/dm/dmdbms
export PATH=$PATH:$HOME/bin:$DM_HOME/bin:$DM_HOME/script/root:$DM_HOME/tool
5 设置最大文件打开数
[root@localhost /]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
[root@localhost /]# vim /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
临时生效:ulimit -n 65536
6 调整 Sysctl.conf
cp /etc/sysctl.conf /etc/sysctl.conf.bak
vim /etc/sysctl.conf
vm.swappiness = 0
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.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
sysctl –p 立即生效
7确认login配置
vim /etc/pam.d/login添加以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
8 关闭 selinux
setenforce 0
vim /etc/sysconfig/selinux
9 命令行安装
./DMInstall.bin –i
10 初始化实例
dminit PATH=/dbdata DB_NAME=EP1 INSTANCE_NAME=MPP1 PORT_NUM=5236
11 配置文件
dm.ini
分别对两个实例的 dm.ini 进行配置
/dmdba/dmdbms/data/DAMENG
修改MPP1的dm.ini的以下几个参数如下:
INSTANCE_NAME = MPP1
PORT_NUM = 5236
MAL_INI = 1
MPP_INI = 1
修改MPP2的dm.ini的以下几个参数如下:
INSTANCE_NAME = MPP2
PORT_NUM = 5237
MAL_INI = 1
MPP_INI = 1
配置 dmmal.ini
为两个MPP配置dmmal.ini如下,配置完全一样,MPP间可互相拷贝。dmmal.ini 与dm.ini放在相同的目录下。
[MAL_INST1]
MAL_INST_NAME = MPP1
MAL_HOST = 172.16.1.81
MAL_PORT = 5269
MAL_INST_HOST = 192.168.1.81
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = MPP2
MAL_HOST = 172.16.1.82
MAL_PORT = 5270
MAL_INST_HOST = 192.168.1.82
MAL_INST_PORT = 5237
配置 dmmpp.ctl
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME = MPP1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME = MPP2
使用 DM 提供的工具 dmctlcvt 将 dmmpp.ini 转换成 dmmpp.ctl,dmctlcvt 工具在 DM 安装目录的“bin”子目录中。转换生成的 dmmpp.ctl 需要放在与 dm.ini 同一个目录。
/dm/dmdbms/bin/dmctlcvt TYPE=2 SRC=/dm/dmdbms/data/MPP1/dmmpp.ini DEST=/dm/dmdbms/data/MPP1/dmmpp.ctl
将生成的 dmmpp.ctl 拷贝至另一 EP,保证 MPP 系统中所有 EP 的 dmmpp.ctl 完全相同。
12 运行 MPP
经过前面四个步骤,DM MPP 环境已经配置完成了。分别启动 MPP1 和 MPP2 的 DM 数据库实例(顺序不分先后),DM MPP 系统即能正常运行,用户就可以登录任一 EP 进行数据库操作了