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

说明... 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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第1张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第2张图片

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集群搭建、DEM管理工具搭建MPP集群应用_第3张图片

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');

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第4张图片

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

SELECT SF_GET_SELF_EP_SEQNO();

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第5张图片

获取EP节点配置信息

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第6张图片

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第7张图片

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

SELECT * FROM V$SESSIONS;

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第8张图片

获取实例EP01上的所有会话

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第9张图片

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第10张图片

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第11张图片

获取所有实例上表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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第12张图片

start /dm8/web/dem_init.sql

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第13张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第14张图片

2、tomcat安装部署

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第15张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第16张图片

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/

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第17张图片

6、解压dem.war

unzip -oq dem.war -d dem

-d:指定解压输出目录

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

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第18张图片

8、重新打包

先授权

chown -R dmdba:dinstall /tomcat

使用dmdba

cd /tomcat/tomcat/webapps/dem

jar -cvf dem.war *

echo $JAVA_HOME

配置java环境变量

find / -name jar查询jdk路径

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第19张图片

然后打包替换即可

cd /tomcat/tomcat/webapps/dem

jar -cvf dem.war *

mv dem.war ../

重启tomcat

cd /tomcat/tomcat/bin

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第20张图片

./shutdown.sh

./startup.sh

8、授权

chmod -R 755 tomcat

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第21张图片

9、启动tomcat

./startup.sh

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第22张图片

10、登录DEM系统

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

http://192.168.16.69:8080/dem/

输入账号密码admin/888888

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第23张图片

11、连接数据库正常

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第24张图片

二、各节点AGENT部署

100服务器

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

1、dmagent下载

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第25张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第26张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第27张图片

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

====

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第28张图片

DEM上修改内外网配置

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第29张图片

5、报错处理

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第30张图片

2)查看日志

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第31张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第32张图片

3)查看mac地址并修改

ifconfig

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第33张图片

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即可 --正常显示了

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第34张图片

三、使用DEM搭建MPP集群

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第35张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第36张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第37张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第38张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第39张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第40张图片

4、配置dm.ini相关参数

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第41张图片

5、配置dmmal.ini相关参数

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第42张图片

6、配置dmarch.ini参数

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第43张图片

7、上传的服务器文件

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第44张图片

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第45张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第46张图片

9、查验

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

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第47张图片

四、使用DEM监控MPP运行

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

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第48张图片

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用_第49张图片

其他:

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

你可能感兴趣的:(java,数据库,linux)