国产数据库之达梦数据库 - DM7 MPP集群安装配置

武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件,主要面向在线分析(OLAP)领域。

下面的分享主要参考和使用达梦公司官网提供的下载包及安装文档,感兴趣的同学请自行下载。下载链接:http://www.dameng.com/service/download.shtml

1.MPP集群规划

本集群打算使用2台服务器,每台服务器规划3个数据库实例,总共6个实例组成的MPP集群。

2.首先创建数据库用户:dmdba(两台服务器都执行)

groupadd dinstall
useradd -g dinstall dmdba -m
passed dmdba

3.将软件包dm7_xxx.tar.gz上传到dmdba用户下,解压进行安装(两台服务器都执行,安装时各选项保持默认即可)

tar -zxf dm7_xxxxxxxx_neoky5.tar.gz
cd dm7_xxxxxxxx_neo5
chmod 777 DMInstall.bin
字符安装:./DMInstall.bin -i

安装完成后,/home/dbdba目录下生成dmdbms文件夹

4.配置环境变量并生效(两台服务器都执行)

su - dmdba
cd ~
vim .bash_profile
PATH=$PATH:$HOME/bin:/home/dmdba/dmdbms/bin
source .bash_profile

5.创建达梦数据目录,这里使用:/home/dmdba/dmdata/(两台服务器都执行)

6.分别在两台服务器上创建六个实例

这里我们使用dminit命令手工创建,这个命令将创建一个名为 EP0X的数据库实例,所在的文件路径在/home/dmdba/dmdata\EP0X下,mal_flag和mpp_flag都设置为1表示将启用多节点间的网络通讯,port_num=5236\37\38,表示该节点(数据库实例)的对外服务端口为5236。

主机1:
[dmdba@ha2 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP01 instance_name=EP01 port_num=5236 mal_flag=1 mpp_flag=1
[dmdba@ha2 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP02 instance_name=EP02 port_num=5237 mal_flag=1 mpp_flag=1
[dmdba@ha2 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP03 instance_name=EP03 port_num=5238 mal_flag=1 mpp_flag=1
主机2:
[dmdba@linux1 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP04 instance_name=EP04 port_num=5236 mal_flag=1 mpp_flag=1
[dmdba@linux1 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP05 instance_name=EP05 port_num=5237 mal_flag=1 mpp_flag=1
[dmdba@linux1 ~]$ dminit path=/home/dmdba/dmdata/ db_name=EP06 instance_name=EP06 port_num=5238 mal_flag=1 mpp_flag=1

7.配置集群邮件通信(两台服务器都执行)

前面我们已经创建好了6个集群实例,在启动它们前,还需要做一项配置工作。首先我们需要让这两个节点能互相通信,达梦数据库内部有一个通讯子系统,模仿真实世界的邮件网络,称为MAL。

分别在两台服务器编辑文件(内容相同):dmmal.ini,然后放入对应的三个实例目录下,例如:/home/dmdba/dmdbms/EP01

[dmdba@ha2 ~]$ cat dmmal.ini
[mal_inst1]
  mal_inst_name = EP01
  mal_host = 192.168.100.106
  mal_port = 5269
[mal_inst2]
  mal_inst_name = EP02
  mal_host = 192.168.100.106
  mal_port = 5270
[mal_inst3]
  mal_inst_name = EP03
  mal_host = 192.168.100.106
  mal_port = 5271
[mal_inst4]
  mal_inst_name = EP04
  mal_host = 192.168.100.107
  mal_port = 5269
[mal_inst5]
  mal_inst_name = EP05
  mal_host = 192.168.100.107
  mal_port = 5270
[mal_inst6]
  mal_inst_name = EP06
  mal_host = 192.168.100.107
  mal_port = 5271

将dmmal.ini分别复制到刚才新建的6个EP实例目录下:

[dmdba@ha2 ~]$ cp dmmal.ini dmdbms/EP01
[dmdba@ha2 ~]$ cp dmmal.ini dmdbms/EP02
[dmdba@ha2 ~]$ cp dmmal.ini dmdbms/EP03
[dmdba@linux1 ~]$ cp dmmal.ini dmdbms/EP04
[dmdba@linux1 ~]$ cp dmmal.ini dmdbms/EP05
[dmdba@linux1 ~]$ cp dmmal.ini dmdbms/EP06

8.配置集群之间协同工作

邮件模块是一个底层子系统,配置完成使得节点间可以通讯,至于是用于主/备还是读写分离等还需要上层决定,因此还需要配置多机协同工作模式。

首先配置dmmpp.ini,然后用工具生成ctl,另一个节点复制生成的ctl即可,最后把生成的dmmpp.ctl文件也放到那6个EP0X文件夹下面

[dmdba@ha2 ~]$ cat dmmpp.ini
mpp_2pc_flag = 0
[service_name1]
  mpp_seq_no = 0
  mpp_inst_name = EP01
[service_name2]
  mpp_seq_no = 1
  mpp_inst_name = EP02
[service_name3]
  mpp_seq_no = 2
  mpp_inst_name = EP03
[service_name4]
  mpp_seq_no = 3
  mpp_inst_name = EP04
[service_name5]
  mpp_seq_no = 4
  mpp_inst_name = EP05
[service_name6]
  mpp_seq_no = 5
  mpp_inst_name = EP06

备注:这里也有6项,分别表示有6个节点,其序号分别为0-6,其实例名分别为EP01-EP06, 注意这里的序号必须从0开始依次编号,实例名必须和dmmal.ini中对应。我们把这个文件命名为dmmpp.ini。

将ini文件转换为dmmpp.ctl文件:

dmctlcvt t2c dump.ini dmmpp.ctl

将文件分别复制到对应EP0X目录下:

[dmdba@ha2 ~]$ cp dmmpp.ctl dmdata/EP01/
[dmdba@ha2 ~]$ cp dmmpp.ctl dmdata/EP02/
[dmdba@ha2 ~]$ cp dmmpp.ctl dmdata/EP03/
[dmdba@linux1 ~]$ cp dmmpp.ctl dmdata/EP04/
[dmdba@linux1 ~]$ cp dmmpp.ctl dmdata/EP05/
[dmdba@linux1 ~]$ cp dmmpp.ctl dmdata/EP06/

9.分别启动6个服务

[dmdba@ha2 ~]$ nohup dmserver /home/dmdba/dmdata/EP01/dm.ini &
[dmdba@ha2 ~]$ nohup dmserver /home/dmdba/dmdata/EP02/dm.ini &
[dmdba@ha2 ~]$ nohup dmserver /home/dmdba/dmdata/EP03/dm.ini &
[dmdba@linux1 ~]$ nohup dmserver /home/dmdba/dmdata/EP04/dm.ini &
[dmdba@linux1 ~]$ nohup dmserver /home/dmdba/dmdata/EP05/dm.ini &
[dmdba@linux1 ~]$ nohup dmserver /home/dmdba/dmdata/EP06/dm.ini &

10.检查集群是否启动

首先,可以通过ps命令查看进程是否正常启动:

[dmdba@ha2 ~]$ ps -ef | grep dmdba
dmdba    13326 11800  1 15:23 pts/0    00:00:03 dmserver /home/dmdba/dmdata/EP01/dm.ini
dmdba    13477 11800  2 15:24 pts/0    00:00:03 dmserver /home/dmdba/dmdata/EP02/dm.ini
dmdba    13540 11800  2 15:24 pts/0    00:00:03 dmserver /home/dmdba/dmdata/EP03/dm.ini
[dmdba@linux1 ~]$ ps -ef | grep dmdba
dmdba     14973  13824  1 15:25 pts/1    00:00:02 dmserver /home/dmdba/dmdata/EP04/dm.ini
dmdba     15059  13824  2 15:26 pts/1    00:00:02 dmserver /home/dmdba/dmdata/EP05/dm.ini
dmdba     15125  13824  6 15:27 pts/1    00:00:02 dmserver /home/dmdba/dmdata/EP06/dm.ini

另外,可以登录系统查看是否可以查询集群相关视图:

[dmdba@linux1 ~]$ disql SYSDBA/SYSDBA@linux1:5236
SQL> SELECT ts.NAME, df.PATH FROM V$TABLESPACE AS ts, V$DATAFILE AS df WHERE ts.ID =df.GROUP_ID;

我这里正常返回了各个节点的文件目录,总共144行。

11.本地查询模式

达梦提供了一个集群本地查询模式(登录时添加*LOCAL参数),可以用来查询本机的相关数据,在本地模式下,不能进行DML操作。

[dmdba@linux1 ~]$ disql SYSDBA/SYSDBA*LOCAL@linux1:5236

Server[linux1:5236]:mode is normal, state is open
login used time: 41.069(ms)
disql V7.1.5.186-Build(2017.05.23-81019)ENT
Connected to: DM 7.1.5.186
SQL> SELECT ts.NAME, df.PATH FROM V$TABLESPACE AS ts, V$DATAFILE AS df WHERE ts.ID =df.GROUP_ID;

LINEID     NAME   PATH
---------- ------ ----------------------------------
1          SYSTEM /home/dmdba/dmdata/EP04/SYSTEM.DBF
2          MAIN   /home/dmdba/dmdata/EP04/MAIN.DBF
3          TEMP   /home/dmdba/dmdata/EP04/TEMP.DBF
4          ROLL   /home/dmdba/dmdata/EP04/ROLL.DBF

used time: 6.422(ms). Execute id is 796.

今天分享到此结束,可以看出,达梦MPP配置起来还是相对简单的,但是集群配置需要步骤都要手动执行,比较繁琐。另外看到bin文件夹下有dmmpp相关的命令,应该可以集群安装,有了解的朋友可以留言探讨~

时间: 2024-09-16 23:12:02

国产数据库之达梦数据库 - DM7 MPP集群安装配置的相关文章

国产达梦数据库的结合Enterprise Library的应用开发

在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数据库-达梦数据库.本文继续这一主题,介绍产达梦数据库的结合Enterprise Library的应用开发. 1.达梦数据库还原处理 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.0版本,简称DM7.DM7提供对SQL92的特性支持以及

基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于Enterprise Library的数据访问层的实现,因此增加一个数据库的支持很容易,本文介绍如何在框架层面上支持这种神秘的国产数据库-达梦数据库. 1.达梦数据库的简单介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.

达梦数据库周淳:达梦产品比ORALCE更具优势

 近年来信息技术高速发展,人们一边享受着信息的高效便捷,一边为信息安全隐患忧心忡忡.今年全国两会上,信息安全也成了人们关注的一大"热词",有人大代表提出我国要把信息安全牢牢掌握在自己手里,应加快基础软硬件的国产化替代进程. 达梦数据库某些产品性能优于ORALCE 据了解国内在基础软件领域的研究已经取得相当进展,国内最好的数据库厂家达梦数据库目前已经开始渗透数据库核心应用领域.在国家电网调度系统招标中,达梦击败国际数据库巨头甲骨文,在全国应用;在航空领域,达梦与中国航信共同签署的&quo

使用delphi 连接国产数据库:达梦

    达梦数据库是一个国产大型数据库管理系统.其实现了大型数据库的各种功能.由于一直是听说,没有用过,今天想来 测试一下它的实际运行性能到底如何?就在其官网上下载了一份试用版,并安装到本地机器上.由于以前的数据库我用的是 Oracle. 首先使用DM 的数据迁移功能把原来delphi 窑洞的数据迁移到达梦上.这个迁移过程非常顺利,就连 oracle 里面 每次处理比较麻烦的CLOB 也很顺利的导入.导入完成后数据库文件的大小为500M.    现在测试使用delphi 连接达梦数据库,在del

达梦数据库签约泰国教育部 奠定行业领先地位

    近日,国内知名数据库厂商达梦宣布与泰国教育部达成深度合作协议,共同搭建泰国教育部云平台"智慧泰国"项目,达梦数据库将为泰国教育信息化的升级改造提供有力的技术支撑.本项目的成功签署标志着达梦数据库已被市场高度认可,跻身国际一流软件行业的同时,成为国内数据库行业的绝对领先者. 泰国教育云平台项目是建设"智慧泰国"的内容之一,主要是对教育信息化进行升级改造,以便更好地服务于泰国广大的中小学生以及老师,全面提升中小学教育的信息共享质量以及教育趣味性.在泰国教育云平台

达梦数据库签约中铁建 构建首个财务共享平台

 做为国内唯一家拥护有自主知识产权的数据库厂商,达梦的数据库产品认可度开始被更多国际巨头所青睐.近日,达梦公司宣布与世界500强企业的中国铁建股份有限公司达成合作,旗下的数据库管理系统DM7为中铁建搭了国内首个财务大共享平台,成功解决了中铁建之前对于财务难以实现统一管理.财务数据难以统一等诸多问题.而凭借完全自主研发并获得国家安全4级的安全资质,达梦数据库的产品安全性也同样得到了中铁建方面的全面认可. 中国铁建是中国乃至全球最具实力.最具规模的特大型综合建设集团之一,下属有20多个工程局,每个工

达梦数据库的性能优化 应对数据膨胀

文章讲的是达梦数据库的性能优化 应对数据膨胀,"棱镜门"."微软XP系统停摆"的接踵而至给我国信息安全敲响了警钟,也加速了国内 "去IOE"运动的进程.达梦数据库作为连续5年国产数据库市场占有率第一的高性能.高可靠性.高安全性.高兼容性大型关系型数据库管理系统,已成功替代了Oracle,在电力.金融.电子政务.教育等行业领域得到了广泛的应用,逐渐成为国家信息化建设的重要基础平台.为了更好地支撑业务应用,有效管理和利用信息时代不断产生并急剧膨胀的数

达梦数据库的连接配置

数据库访问是数据库应用系统中非常重要的组成部分.达梦数据库作为一个通用数据库管理系统,提供了多种数据库访问接口,包括ODBC.JDBC.API.OLEDB以及嵌入方式等.本文主要列出了在Java中常见的连接达梦数据库的方法-- 1.建立基本的JDBC连接 JDBC(Java Database Connectivity)是Java应用程序与数据库的接口规范,旨在让各数据库开发商为Java程序员提供标准的数据库应用程序编程接口(API).JDBC定义了一个跨数据库.跨平台的通用SQL数据库API.D

达梦7-spring+mybatis+达梦数据库7部署到tongweb5上?

问题描述 spring+mybatis+达梦数据库7部署到tongweb5上? spring+mybatis+达梦数据库7部署到tongweb5上,请问有人知道jdbc怎么搞吗?配置文件怎么搞?第一次接触,没有头绪额~ 解决方案 达梦数据库?没听说过还有这个数据库