1 环境准备
实例名 |
MAL_HOST |
PORT_NUM |
MAL_PORT |
MALL_DW_PORT |
MPP_SEQNO |
EP1 |
172.16.20.184 |
5238 |
5337 |
5253 |
0 |
EP2 |
172.16.20.55 |
5238 |
5337 |
5253 |
1 |
2 配置
2.1 创建实例
1号机:
./dminit PATH=/home/dmdba/dmdbms/data DB_NAME=EP1 INSTANCE_NAME="EP1" PORT_NUM=5238
2号机:
./dminit PATH=/home/dmdba/dmdbms/data DB_NAME=EP2 INSTANCE_NAME="EP2" PORT_NUM=5238
注册服务:以root方式启动(在安装目录得script》root下)
1号机
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/EP1/dm.ini -p EP1
2号机
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/EP2/dm.ini -p EP2
2.2 配置dm.ini
EP1:
INSTANCE_NAME= EP1
PORT_NUM= 5238
MAL_INI= 1
MPP_INI= 1
EP2:
INSTANCE_NAME= EP2
PORT_NUM= 5238
MAL_INI= 1
MPP_INI= 1
2.3 配置dmmal.ini
为两个EP配置dmmal.ini如下,配置完全一样,EP间可互相拷贝。dmmal.ini与dm.ini放在相同的目录下
[MAL_INST1]
MAL_INST_NAME = EP1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 172.16.20.184 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5337 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 172.16.20.184 #实例的对外服务 IP 地址
MAL_INST_PORT = 5238 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
[MAL_INST2]
MAL_INST_NAME = EP2
MAL_HOST = 172.16.20.55
MAL_PORT = 5337
MAL_INST_HOST = 172.16.20.55
MAL_INST_PORT = 5238
2.4 配置dmmpp.ini (两边一样)
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME= EP1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME= EP2
2.5 dmmpp.ini转换成dmmpp.ctl
使用DM提供的工具dmctlcvt将dmmpp.ini转换成dmmpp.ctl,dmctlcvt工具在DM安装目录的“bin”子目录中。
./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/data/EP1/dmmpp.ini DEST=/home/dmdba/dmdbms/data/EP1/dmmpp.ctl
./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/data/EP2/dmmpp.ini DEST=/home/dmdba/dmdbms/data/EP2/dmmpp.ctl
3 运行
分别启动EP1和EP2的数据库实例就可以了、顺序不分先后。DM MPP系统即能正常运行,用户就可以登录任一EP进行数据库操作了。
在EP1中创建表格并插入数据
create table users(uname varchar(10),age int);
insert into users values('hyf',20);
insert into users values('messi',33);
commit;
在EP2中查找,发现能查找出刚才的数据