1.MPP集群(不带主备)的部署
集群规划
A机器 | B机器 | |
IP | 192.168.40.132 | 192.168.40.131 |
实例名 | EP01 | EP02 |
实例端口 | 5236 | 5237 |
MAL_HOST | 192.168.40.132 | 192.168.40.131 |
MAL_PORT | 5269 | 5270 |
MPP_SEQ_NO | 0 | 1 |
2.安装数据库
在A,B两台机器上分别安装好数据,并初始化数据库实例,命令如下:
A机器
/home/dm8/bin/dminit PATH=/home/dm8/data/ DB_NAME=EP01 INSTANCE_NAME=EP01 PORT_NUM=5236 PAGE_SIZE=32 LOG_SIZE=2048
B机器
/home/dm8/bin/dminit PATH=/home/dm8/data/ DB_NAME=EP02 INSTANCE_NAME=EP02 PORT_NUM=5237 PAGE_SIZE=32 LOG_SIZE=2048
3.配置dm.ini文件
A机器
vi /home/dm8/data/EP01/dm.ini
内容如下:
INSTANCE_NAME = EP01
PORT_NUM = 5236
MAL_INI = 1
MPP_INI = 1
B机器
vi /home/dm8/data/EP02/dm.ini
内容如下:
INSTANCE_NAME = EP02
PORT_NUM = 5237
MAL_INI = 1
MPP_INI = 1
编辑 dmmal.ini 文件
A机器
vi /home/dm8/data/EP01/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = EP01
MAL_HOST= 192.168.40.132
MAL_PORT = 5269
MAL_INST_HOST = 192.168.40.132
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = EP02
MAL_HOST= 192.168.40.131
MAL_PORT = 5270
MAL_INST_HOST = 192.168.40.131
MAL_INST_PORT = 5237
配置dmmpp.ini文件
vi /home/dm8/data/EP01/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 TYPE=2 SRC=/home/dm8/data/EP01/dmmpp.ini DEST=/home/dm8/data/EP01/dmmpp.ctl
将生成的dmmpp.ctl文件和dmmal.ini文件拷贝到B机器
scp -r /home/dm8/data/EP01/dmmal.ini dmdba@192.168.40.131:/home/dm8/data/EP02
scp -r /home/dm8/data/EP01/dmmpp.ctl dmdba@192.168.40.131:/home/dm8/data/EP02
运行MPP,分别启动 EP01 和 EP02 的 DM 数据库实例
./dmserver /home/dm8/data/EP01/dm.ini
./dmserver /home/dm8/data/EP02/dm.ini
4.测试建表和插入数据是否会根据分布列进行自动分发
DM MPP 支持表数据的哈希分布、随机分布、复制分布、范围分布、 LIST 分布类型
这里使用哈希分布来测试
使用disql登录数据库
执行select * from v$instance;查看集群情况
##创建哈希分布表 T_HASH,分布列为 C1。
CREATE TABLE T_HASH(C1 INT, C2 CHAR(10))DISTRIBUTED BY HASH (C1);
插入数据
INSERT INTO T_HASH VALUES(1,'AAA');
INSERT INTO T_HASH VALUES(2,'BBB');
COMMIT;
查询数据
MPP集群要查看数据按照分布列自动分发到对应的数据库,需要使用全局和本地登录的方式查看,命令如下:
本地登录:./disql SYSDBA/SYSDBA@192.168.40.131:5237#"{mpp_type=local}"
全局登录:./disql SYSDBA/SYSDBA@192.168.40.131:5237#"{mpp_type=global}"
使用jmeter软件连接达梦数据
执行插入数据的sql语句
这里只插入了两条记录,CCC和DDD的两条数据
使用disql全局和本地登录方式查询数据
可以看到有一条数据是分发了另外一台机器上
更多关于达梦数据库详细内容请关注达梦在线服务平台官网: