搭建MPP集群
部署2节点主备MPP
节点 IP 端口 实例
1 192.168.152.133 5238 EP_1
2 192.168.152.134 5238 EP_2
主机:
新初始化一个实例
./dminit path=/home/dmdba/dmdbms/data page_size=16 port_num=5238 DB_NAME=EP_1 INSTANCE_NAME=EP_1
注册服务
./dm_service_installer.sh -t dmserver -p EP_1 -dm_ini /home/dmdba/dmdbms/data/EP_1/dm.ini
启动服务
./DmServiceEP_1 start
备机同理
新初始化一个实例
./dminit path=/home/dmdba/dmdbms/data page_size=16 port_num=5238 DB_NAME=EP_12 INSTANCE_NAME=EP_2
停止实例服务
cd /etc/init.d/
./DmServiceEP_1 stop
进入EP_1数据目录修改dm.ini文件
INSTANCE_NAME = EP_1
PORT_NUM = 5238
MAL_INI = 1
MPP_INI = 1
EP_2
INSTANCE_NAME = EP_2
PORT_NUM = 5238
配置文件EP_1,EP_2一致
dmmal.ini
[MAL_INST1]
MAL_INST_NAME = EP_1
MAL_HOST = 10.10.10.7
MAL_PORT = 33133
MAL_INST_HOST = 192.168.152.133
MAL_INST_PORT = 5238
[MAL_INST2]
MAL_INST_NAME = EP_2
MAL_HOST = 10.10.10.8
MAL_PORT = 33134
MAL_INST_HOST = 192.168.152.134
MAL_INST_PORT = 5238
~
配置文件EP_1,EP_2一致
配置dmmpp.ini
[service_name1]
mpp_seq_no = 0
mpp_inst_name = EP_1
[service_name2]
mpp_seq_no = 1
mpp_inst_name = EP_2
然后到bin目录使用dmctcvt工具把dmmpp.ini转换成dmmpp.ctl
./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/data/EP_1/dmmpp.ini DEST=/home/dmdba/dmdbms/data/EP_1/dmmpp.ctl
重新启动EP_1,EP_2数据库实例 DM MPP环境搭建完成
创建不同类型的分布表例子
创建哈希分布表T_HASH,分布列C1
CREATE TABLE T_HASH
(C1 INT,
C2 CHAR(10)
)
DISTRIBUTED BY HASH(C1);
创建随机分布表T_RANDOM
CREATE TABLE T_RANDOM(C1 INT,
C2 CHAR(10)
)
DISTRIBUTED RANDOMLY;
创建复制分布表T_FULLY
CREATE TABLE T_FULLY
(C1 INT,
C2 CHAR(10)
)
DISTRIBUTED FULLY;
创建范围分布表T_RANGE 分布列C1
CREATE TABLE T_RANGE(C1 INT,
C2 CHAR(10)
)
DISTRIBUTED BY RANGE(C1)
(VALUES EQU OR LESS THAN (100) ON EP_1,
VALUES LESS THAN(MAXVALUE)ON EP_2
);
创建LIST分布表
CREATE TABLE T_LIST
(C1 INT,
C2 CHAR(10)
)
DISTRIBUTED BY LIST(C1)
(VALUES(3) ON EP_1,VALUES(4) ON EP_2);