达梦MPP集群搭建、DEM管理工具搭建MPP集群应用

news/2024/11/30 13:30:36/

说明... 3

两节点MPP集群手动搭建... 4

1、配置dm.ini 4

2、配置dmmal.ini 5

3、配置dmmpp.ctl 5

4、启动EP01和EP02数据库实例,系统搭建完成。... 6

MPP使用:... 6

使用DEM管理系统搭建MPP3节点集群... 10

一、达梦DEM部署... 11

1、创建DEM库:dem_init.sql 11

2、tomcat安装部署... 12

3、修改server.xml配置文件... 12

4、修改jvm启动启动参数... 12

5、配置DEM... 13

6、解压dem.war 13

7、配置DEM中元数据库的连接信息... 13

8、重新打包... 14

8、授权... 15

9、启动tomcat 16

10、登录DEM系统... 16

11、连接数据库正常... 17

二、各节点AGENT部署... 17

1、dmagent下载... 18

2、修改dmagent配置... 19

3. 核对dmagent和DEM所运行机器时间... 19

4. 启动dmagent: 19

5、报错处理... 21

1)启动三台节点(100、101、102)agent但是只显示一台服务器... 21

2)查看日志... 21

4)永久修改错误连接的mac地址... 23

6、重新启动DEM... 23

三、使用DEM搭建MPP集群... 24

1、客户端工具--集群管理--点击"+"创建集群--选择大规模并行处理... 24

2、环境准备--找到需要部署的主机--实例规划... 25

3、在配置好各实例的参数后,点击“下一步”,进入“数据准备”页面。... 25

4、配置dm.ini相关参数... 26

5、配置dmmal.ini相关参数... 26

6、配置dmarch.ini参数... 27

7、上传的服务器文件... 27

8、开始执行部署任务--部署成功... 27

9、查验... 28

四、使用DEM监控MPP运行... 28

说明

达梦共享存储数据库集群全称 DM Data Shared Cluster,简称 DMDSC:

这种体系可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有I/O信息过滤到共享存储子系统,对硬件的要求较高,且并非高性能解决方案。

达梦大规模并行处理 MPP(DM Massively Parallel Processing,缩写 DM MPP):

完全对等无共享式集群,通讯功能部署在一个高宽带网络互连体系上,没有主控制节点,所有节点完全对等,执行并行查询。支持最多 1024 个 EP。MPP特别适合于海量数据的存储和处理。一个EP故障停机,整个MPP系统不能使用,须配合数据守护(主备)使用。

达梦分布计算集群英文全称DM Distributed Processing Cluster,简称DMDPC:

提供了分布式计算集群才拥有的高可用、高扩展、高性能、高吞吐量和对用户透明等高级特性。

首先配置dmmpp.ini,然后利用dmctlcvt工具进行转换得到生成的dmmpp.ctl文件。

MPP系统中的每个EP都必须使用相同的dmmpp.ctl文件,进行文件拷贝即可。

MPP集群搭建

1、制定合适的DM MPP方案

1)应用是否适合使用DM MPP方案

MPP具有高性价比、高可靠性、功能强大等优点

MPP主要针对海量数据的OLAP应用而研发。

在合理规划的前提下,对普通的、并发量不大的一般OLTP或混合类型应用也适用,但不适合于高并发操作的OLTP类型应用

2)需要使用多大规模的DM MPP方案

DM MPP最多支持1024个EP节点,应用数据规模、硬件规划、网络带宽和项目预算情况而定。

理论上来说节点数越多越好,这样并行越充分,效率越高。

方案设计者应同时考虑到 EP节点间网络资源的情况,如果网络是瓶颈,则并不是节点数越多越好。

3)需要配置怎样的硬件资源

DM MPP采用完全对等不共享架构,不需要专用硬件,可以采用普通的PC服务器组建集群。

DM MPP系统需要通过网络在各EP间传递数据,因此网络的带宽对于MPP系统的效率非常重要,建议配置千兆或万兆内部网络,用户应根据实际需求、配置成本及实际条件等综合评估决定。

4)如何设计应用表

DM MPP系统中的数据分布在各EP中,支持表数据的哈希分布、随机分布、复制分布、范围分布、LIST分布类型

除了表的分布类型,还应根据情况确定表的分布列、分布列的数据类型以及是否需要组合分布列等,查询连接使用频率较高的连接键等可以考虑作为分布列。

5)如何配置DM MPP系统参数

数据库实例配置文件dm.ini和MAL系统配置文件dmmal.ini中一些参数的配置会影响MPP系统的运行性能。

应根据应用和硬件的实际情况对这些参数进行适当的配置。同时应注意各EP必须保持一致的INI参数

两节点MPP集群手动搭建

两台双网卡服务器,均安装并初始化数据库实例。2c2g

EP01:

192.168.16.100

10.10.10.100

EP02:

192.168.16.101

10.10.10.101

 注意:各EP使用的DM数据库版本应一致,各EP所在主机的操作系统位数、大小端模式、时区及时间设置都应一致。

两台服务器停止数据库服务

./DmServiceDMSERVER stop

1、配置dm.ini

各EP的数据库初始化参数都保持一致

EP01

INSTANCE_NAME = EP01

PORT_NUM = 5236

MAL_INI = 1

MPP_INI = 1

EP02

INSTANCE_NAME = EP02

PORT_NUM = 5237

MAL_INI = 1

MPP_INI = 1

2、配置dmmal.ini

两节点配置完全一样

dmmal.ini与dm.ini放在相同的目录下。

[MAL_INST1]

MAL_INST_NAME = EP01

MAL_HOST = 10.10.10.100

MAL_PORT = 5269

MAL_INST_HOST = 192.168.16.100

MAL_INST_PORT = 5236

[MAL_INST2]

MAL_INST_NAME = EP02

MAL_HOST = 10.10.10.101

MAL_PORT = 5270

MAL_INST_HOST = 192.168.16.101

MAL_INST_PORT = 5237

3、配置dmmpp.ctl

两节点配置完全一样

需要先配置dmmpp.ini

[SERVICE_NAME1]

MPP_SEQ_NO = 0

MPP_INST_NAME = EP01

[SERVICE_NAME2]

MPP_SEQ_NO = 1

MPP_INST_NAME = EP02

使用dmctlcvt将dmmpp.ini转换成dmmpp.ctl

dmmpp.ctl需要放在dm.ini的同一个目录

TYPE=2表示将文本文件转换成控制文件

TYPE=1进行逆向转换,文本转为控制文件

dmctlcvt TYPE=2 SRC=/dm/data/DMDB/dmmpp.ini DEST=/dm/data/DMDB/dmmpp.ctl

4、启动EP01和EP02数据库实例,系统搭建完成。

之前注册过直接启动即可

./DmServiceDMSERVER start

MPP使用:

建立分布表

哈希分布、随机分布、复制分布、范围分布、LIST 分布

MPP的数据分布类型和具体设置在建表时指定

CREATE TABLE T_HASH(C1 INT, C2 CHAR(10))DISTRIBUTED BY HASH (C1);

CREATE TABLE T_RANDOM(C1 INT, C2 CHAR(10))DISTRIBUTED RANDOMLY;

CREATE TABLE T_FULLY(C1 INT, C2 CHAR(10))DISTRIBUTED FULLY;

CREATE TABLE T_RANGE (C1 INT, C2 CHAR(10))DISTRIBUTED BY RANGE (C1)

(VALUES EQU OR LESS THAN (100) ON EP01, VALUES LESS THAN(MAXVALUE) ON EP02);

CREATE TABLE T_LIST(C1 INT, C2 CHAR(10))DISTRIBUTED BY LIST (C1)

(VALUES(3) ON EP01,VALUES(4) ON EP02);

CREATE TABLE T_HASH_RANGE_PARTITION(C1 INT, C2 CHAR(10), C3 CHAR(10))

PARTITION BY RANGE(C1)

(

PARTITION PART_1 VALUES LESS THAN(0) ,

PARTITION PART_2 VALUES LESS THAN(10) ,

PARTITION PART_3 VALUES LESS THAN(100) ,

PARTITION PART_4 VALUES LESS THAN(MAXVALUE)

)

DISTRIBUTED BY HASH (C1);

注意:

MPP模式下创建分布表,如果未指定列则默认为RANDOMLY(随机)分布表;

分布列类型不支持BLOB、CLOB、IMAGE、TEXT、LONGVARCHAR、BIT、BINARY、VARBINARY、LONGVARBINARY、BFILE、时间间隔类型、虚拟列和用户自定义类型;

FULLY(复制)分布表,只支持单表查询的更新和删除操作,并且查询项或者条件表达式中都不能包含ROWID伪列表达式;

RANGE(范围)分布表和 LIST(列表)分布表,分布列与分布列值列表必须一致,并且指定的实例名不能重复;

引用约束的引用列和被引用列都必需包含分布列,且分布情况完全相同;

随机分布表不支持UNIQUE索引。

快速数据装载:dmfldr

dmfldr支持MPP环境下的两种数据加载模式:客户端分发模式(默认,数据在dmfldr客户端进行分发后直接向指定EP发送数据)和本地分发模式,通过参数MPP_CLIENT进行设置。

停止MPP系统:数据库实例停库即可

MPP相关系统过程与函数

MPP系统设置当前会话是否只查询本节点数据。

SP_SET_SESSION_MPP_SELECT_LOCAL(0); --0查询全部节点数据;1只查询本节点数据

SF_GET_SESSION_MPP_SELECT_LOCAL(0); --用法与上面set一样啊

MPP本地登录时,设置本会话上是否允许DDL操作。本地登录默认不允许DDL操作。

SP_SET_SESSION_LOCAL_TYPE (1); --1表示允许

CREATE TABLE TEST(C1 INT);

SP_SET_SESSION_LOCAL_TYPE (0);

根据查询出的行数据的ROWID获取本条数据来自哪个EP。

SF_GET_EP_SEQNO(ROWID);

select SF_GET_EP_SEQNO('AAAAAAAAAAAAAAAAAD');

获取本会话连接的EP序号。

SELECT SF_GET_SELF_EP_SEQNO();

统计MPP环境下表在各个节点的数据行数。

SP_GET_EP_COUNT('SYSDBA','T'); --模式,表名--ER02中也有该表,但是mpp从01库中查出后不会去查02库,所以1库3行2库0行数据。

获取EP节点配置信息

SELECT * FROM V$MPP_CFG_ITEM WHERE SF_GET_EP_SEQNO(ROWID) = SF_GET_SELF_EP_SEQNO();

获取当前会话连接的实例名

SELECT NAME FROM V$INSTANCE WHERE SF_GET_EP_SEQNO(ROWID) = SF_GET_SELF_EP_SEQNO();

获取MPP系统内所有EP的所有会话

SELECT * FROM V$SESSIONS;

获取当前连接的实例上的所有会话

SELECT * FROM V$SESSIONS WHERE SF_GET_EP_SEQNO(ROWID) = SF_GET_SELF_EP_SEQNO();

获取实例EP01上的所有会话

SELECT * FROM V$SESSIONS WHERE SF_GET_EP_SEQNO(ROWID) = (SELECT DISTINCT EP_SEQNO FROM V$MPP_CFG_ITEM WHERE INST_NAME ='EP01');

获取所接实例上的表DEPT的使用空间

SELECT TABLE_USED_PAGES('SYSDBA','DEPT');

获取每个实例上的表TEST使用空间

SELECT TABLE_USED_PAGES('SYSDBA','DEPT'), NAME FROM V$INSTANCE;

获取所有实例上表DEPT的总使用空间

SELECT SUM(TOTAL_SIZE) FROM (SELECT TABLE_USED_PAGES('SYSDBA','DEPT') TOTAL_SIZE, NAME FROM V$INSTANCE);

使用DEM管理系统搭建MPP3节点集群

说明:

DM web 版数据库管理工具(DEM)提供了图形化部署与监控MPP的功能。

在使用DEM对集群进行部署和监控之前需要在各节点所在机器部署数据库代理工具DMAgent

服务器规划:

EP01:

192.168.16.100

10.10.10.100

EP02:

192.168.16.101

10.10.10.101

EP03:

192.168.16.102

10.10.10.1022

DEM单独搭建:2c4g

192.168.16.69

10.10.10.69

一、达梦DEM部署

69DEM库

1、创建DEM库:dem_init.sql

start /dm8/web/dem_init.sql

SELECT DISTINCT owner,object_name FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'SCH';

2、tomcat安装部署

上传安装包,并解压,重命名

3、修改server.xml配置文件

在conf/server.xml中追加属性字段追加属性字段 maxPostSize="-1"

vim /tomcat/tomcat/conf/server.xml

4、修改jvm启动启动参数

vim /tomcat/tomcat/bin/catalina.sh

/cygwin=false --搜索在这个上面添加,达梦自带Java路径

JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:MaxPermSize=512m -Djava.library.path=/dm8/bin"

5、配置DEM

把DEM项目复制到tomcat的webapps

cp /dm8/web/dem.war /tomcat/tomcat/webapps/

6、解压dem.war

unzip -oq dem.war -d dem

-d:指定解压输出目录

7、配置DEM中元数据库的连接信息

修改DEM解压文件中的db.xml文件

vim /tomcat/tomcat/webapps/dem/WEB-INF/db.xml

8、重新打包

先授权

chown -R dmdba:dinstall /tomcat

使用dmdba

cd /tomcat/tomcat/webapps/dem

jar -cvf dem.war *

echo $JAVA_HOME

配置java环境变量

find / -name jar查询jdk路径

然后打包替换即可

cd /tomcat/tomcat/webapps/dem

jar -cvf dem.war *

mv dem.war ../

重启tomcat

cd /tomcat/tomcat/bin

./shutdown.sh

./startup.sh

8、授权

chmod -R 755 tomcat

9、启动tomcat

./startup.sh

10、登录DEM系统

在浏览器中输入dem的地址即可进入DEM的登录页面了

http://192.168.16.69:8080/dem/

输入账号密码admin/888888

11、连接数据库正常

二、各节点AGENT部署

100服务器

dmagent配置及启动应用 root用户操作

1、dmagent下载

1) 达梦数据库安装目录的tool下存有dmagent --本次使用

2) 登录部署好的DEM,资源包,下载dmagent。 拷贝dmagent到要部署的机器上。

2、修改dmagent配置

配置dmagent目录下的agent.ini:

center.url=http://192.168.16.69:8080/dem #DEM访问地址

gather_enable=true #开启收集监控数据功能,默认打开

service_enable=true #开启远程调用功能,部署时需要打开

3. 核对dmagent和DEM所运行机器时间

一般要求dmagent和DEM所运行机器时间一致,最多不要相差5分钟。

4. 启动dmagent:

root

./start.sh /dm8/tool/dmagent/agent.ini #进程方式运行

=====

服务注册的方式启动

[root@localhost dmagent]# ./service.sh install

[root@localhost dmagent]# ./service.sh start

这里注册服务后,linux服务器重启dmagent也会启动的

====

101及102服务器同样操作启动

DEM上修改内外网配置

5、报错处理

1)启动三台节点(100、101、102)agent但是只显示一台服务器

2)查看日志

因为是克隆的机器这三台不同ip但是macaddr地址是同一个,所以一直报错

3)查看mac地址并修改

ifconfig

4)永久修改错误连接的mac地址

查看ifconfig配置正常使用的ens33和ens37显示mac地址每台服务器均不同。只有这个virbr0使用同一个mac地址。

这里直接停掉virbr0网桥即可。

停网桥virbr0

ifconfig

brctl show //查看网桥

ifconfig virbr0 down

brctl delbr virbr0 //删除网桥

systemctl disable libvirtd.service //禁用libvirtd服务开机自启动

systemctl mask libvirtd.service

ifconfig查看,即可发现virbr0不在了

6、重新启动DEM

启动各节点agent即可 --正常显示了

三、使用DEM搭建MPP集群

1、客户端工具--集群管理--点击"+"创建集群--选择大规模并行处理

2、环境准备--找到需要部署的主机--实例规划

3、在配置好各实例的参数后,点击“下一步”,进入“数据准备”页面。

4、配置dm.ini相关参数

5、配置dmmal.ini相关参数

6、配置dmarch.ini参数

7、上传的服务器文件

(需要指定dmserver文件,这里直接指定bin目录即可)

8、开始执行部署任务--部署成功

9、查验

直接连接第一次手动配置的mpp集群还在

连接DEM搭建的三节点mpp集群正常

四、使用DEM监控MPP运行

监控与告警--数据库--添加--集群--xxx

其他:

MPP的DDL克隆与还原

DDL 克隆可以把系统中的对象定义信息进行备份,之后再还原到别的数据库节点。利用这个功能,可以将一个MPP系统的对象定义信息克隆并还原到另一个MPP系统中,且两个MPP系统的节点数不必一致。

在执行完还原操作后,需要使用dmctlcvt工具,将当前环境的dmmpp.ini再次生成dmmpp.ctl,替换还原生成的dmmpp.ctl(因还原覆盖了目标系统的ctl文件)。

MPP主备系统

MPP备库不参与MPP操作,与其他MPP备库之间也没有任何关系,MPP备库只能以单节点方式提供只读服务,但不提供全局的MPP只读服务。

为了提高系统可靠性并节约硬件资源,DM MPP主备系统可采用交叉守护的方式,即每个EP和其对应的备库实例不在同一台主机上,将EP与别的EP的备库放在一台主机上。

达梦数据库社区地址:https://eco.dameng.com


http://www.ppmy.cn/news/423151.html

相关文章

链路追踪eagleEye介绍

介绍 淘宝现在是一个由很多个应用集群组成的非常复杂的分布式系统。这些应用里面主要有处理用户请求的前端系统和有提供服务的后端系统等。这些应用之间一般有RPC调用和异步消息通讯两种手段,RPC 调用会产生一层调一层的嵌套,一个消息发布出来更会被多个…

Java中的数组和集合

文章目录 数组一维数组使用示例注意事项 多维数组使用示例注意事项 集合ListArrayListLinkedList SetHashSetTreeSet MapHashMapTreeMap 总结 数组 Java 中的数组是一种容器,可以用来存储一组相同类型的元素。数组可以是一维的,也可以是多维的。 一维数组…

Windows老电脑的系统哪个更好

请问一下各位大佬,Windows7 32位的系统和64位的哪个适合老电脑使用,大概是4年前的。

计算机专业装win几,低配电脑装win10还是win7系统比较合适

最近在群里碰到有个用户非常纠结,他不知道低配电脑装win10还是win7系统比较合适?经过小编了解完具体情况后,小编决定把这个问题整理成一篇文章来分享给大家关于安装win10系统还是win7系统的问题。 对于不懂电脑系统的用户来说,有些…

安装simo的服务器装什么系统好用,电脑装什么系统好?

电脑装什么系统好?xp/win7/win8/win8.1系统的优劣?2014-12-03 很多用户在安装电脑系统的时候不是道电脑装哪种系统更好用,xp/win7/win8/win8.1系统究竟哪个更适合你的电脑,其实要根据你的电脑的具体配置(主要是:CPU和内存)来判断…

买电脑装什么系统好?win7还是win10?

对于这个问题,镁客君还是比较有发言权的,因为我两台电脑一个win7一个win10,在此镁客君分以下几个方面来综合对比这两个系统的差别,供各位参考 第一,安装系统比较: 我们可以发现Win7的安装速度要比Win10的…

win10的计算机是哪个版本,Windows 10系统都有哪些版本?老旧电脑装哪个版本的win10好?...

原标题:Windows 10系统都有哪些版本?老旧电脑装哪个版本的win10好? 按照微软官方的公告,安装windows10系统需要满足以下的要求: 以上是微信官方对安装windows时系统所需要的硬件最低要求,如果你的设备硬件无…

老电脑可以安装win11系统吗

win11系统是目前大家比较关注的新的操作系统,对于电脑配置有一定的要求,但是还是有些使用老电脑的用户跃跃欲试,不知道老电脑可以安装win11吗?我们可以尝试通过u盘重装的方法来给老电脑安装win11。那么老电脑如何安装win11系统&am…