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中查找,发现能查找出刚才的数据。

mpp不带主备集群搭建

  • 注意:[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;

mpp不带主备集群搭建

可以插入成功,可见即使一个节点故障另一个节点依旧能提供服务。

上一篇:国产数据库---GBase 8a精准查询优化方法


下一篇:比MySQL快801倍,阿里、字节争相部署,真香!