搭建达梦数据仓库MPP

什么是MPP:

DM MPP 采用的完全对等无共享体系架构,结合了完全无共享体系的优点,

DM MPP 中的每一个 DM 数据库服务器实例作为一个执行节点,简称 EP。客户端可连接任意一个 EP 节点进行操作,所有 EP 对客户来说都是对等的。

DM MPP 系统内每个 EP 只负责自身部分数据的读写,执行计划在所有 EP 并行执行,能充分利用各 EP 的计算能力及发挥各 EP 独立存储的优势。数据只在必要时通过 DM 的高速邮件 MAL 系统在 EP 间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显。

在 DM MPP 中,数据根据用户指定的分布规则分布在不同的 EP 上。MPP 的核心在于对用户请求的并行执行,其执行流程可简单描述如下:

用户选择一个 EP 登录,此时该 EP 就是此用户的主 EP,集群中的其余 EP 都是此用户的从 EP;

主 EP 接受用户的 SQL 请求,并生成并行执行计划;

主 EP 将计划打包后分发给其他从 EP;

各 EP 并行执行;

主 EP 收集各 EP(包括自己)的执行结果;

主 EP 将执行结果汇总后返回给用户。

0e5e63258bd3605f21a672758bf68201.png

437f3054c76a1038a71119413f5f257c.png

MPP优点:

1)TB/PB 级数据分析:支持数据的并行装载和操作的并行执行,数据分布式存储在各 EP 中,能支持 TB/PB 级数据分析。

2)支持绝大部分单机功能:支持绝大部分的 DM 单机版功能,同时支持行、列存储,支持存储过程、触发器、索引、分区表、多媒体数据类型等。

3)高性价比:无需额外配置特殊软、硬件,性价比超高。

4)高可靠性:DM MPP 与 DM 数据守护相结合,为 MPP 系统中的每个EP 配置一个或多个实时备库,在 EP 发生故障时其对应备库能迅速切换为主库继续提供服务,确保系统的高可用性。

5)支持超大型集群:支持最多 1024 个 EP,轻松组建超大型集群。

 

###搭建步骤如下:

安装MPP

首先安装达梦数据库:
执行以下命令,新建用户组 dinstall:
groupadd dinstall
useradd  -g dinstall -m -d /home/dmdba -s /bin/bash  dmdba
passwd dmdba
用户资源限制
vim /etc/security/limits.conf
文件末尾添加如下内容:
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc  65536
dmdba hard nproc  65536
dmdba soft stack  65536
dmdba hard stack  65536
用户环境变量
执行以下命令,修改 dmdba 用户环境变量:
vi /home/dmdba/.bash_profile
文件末尾添加如下内容:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

1、初始化数据库(主从)
./dminit path=/dm8/data PAGE_SIZE=16 EXTENT_SIZE=16 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DM2 INSTANCE_NAME=TEST2 PORT_NUM=5237
2、修改dm.ini
实例1修改以下参数值:
INSTANCE_NAME = dmmpp1    #实例名
MAL_INI = 1
MPP_INI = 1

实例2修改以下参数值:
INSTANCE_NAME = dmmpp2    #实例名
MAL_INI = 1
MPP_INI = 1
3、配置mal    #主从一致
dmmal.ini
MAL_CHECK_INTERVAL   = 5  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL  = 5  #判定 MAL 链路断开的时间
[MAL_INST1]
  MAL_INST_NAME = TEST1 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST     = 192.168.208.152  #MAL 系统监听 TCP 内部网络 IP
  MAL_PORT     = 7236 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST   = 192.168.208.132  #实例的对外服务 IP 地址
  MAL_INST_PORT   = 5237 #与 dm.ini 中的 PORT_NUM 一致
[MAL_INST2]
  MAL_INST_NAME = TEST2 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST      = 192.168.208.153  # MAL 系统监听 TCP 内部网络 IP
  MAL_PORT          = 7236 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST         = 192.168.208.144 #实例的对外服务 IP 地址
  MAL_INST_PORT         = 5237 #与 dm.ini 中的 PORT_NUM 一致
4、本地归档即可
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DM2/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
5、配置 dmmpp.ini 
主库编辑: dmmpp.ini 
[SERVICE_NAME1]
 MPP_SEQ_NO = 0
 MPP_INST_NAME = TEST1    #实例1
[SERVICE_NAME2]
 MPP_SEQ_NO = 1
 MPP_INST_NAME = TEST2    #实例2
生成二进制文件
./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/dmmpp/dmmpp.ini DEST=/home/dmdba/dmdbms/dmmpp/dmmpp.ctl
把dmmpp.ctl copy到第二个节点的参数文件目录下
6、正常启动主从
./dmserver /home/dmdba/dmdbms/dmmpp/dm.ini
7、注册服务
root用户
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p dmmpp -dm_ini /home/dmdba/dmdbms/dmmpp/dm.ini
8、前台启动
systemctl start DmServicedmmpp

###查看状态
select instance_name from v$instance;

客户端连接:
32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录;
64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录;
32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录;
在 Linux 平台下,此文件位于/etc 目录。
vim /etc/dm_svc.conf
# 以#开头的行表示是注释
# 全局配置区
DMMPP=(192.168.56.11:5236,192.168.56.12:5236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服务配置区
[DMMPP]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(2)
SWITCH_TIME=(3) #在服务器之间切换的次数
SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒
 
客户端程序连接数据库时,需要指定 IP 端口处替换为服务名即可,例如:disql SYSDBA/SYSDBA@DMMPP。

配置完需要重启集群

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值