首页 > 数据库 >达梦数据库dm8版本Mpp集群原理系统架构和搭建测试

达梦数据库dm8版本Mpp集群原理系统架构和搭建测试

时间:2024-07-30 18:28:52浏览次数:15  
标签:dm Mpp TEST ini MPP dm8 MAL 达梦 dmdata

达梦数据库dm8版本Mpp集群原理系统架构和搭建测试

 

      当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。 其中完全共享体系如 SMP 服务器,局限于单节点服务器,通常价格比较昂贵,其扩展 性和性能受到相应的限制。 共享存储体系允许系统带有多个服务器实例,这些实例与共享存储设备相连。这种体系 可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有 I/O 信息过滤到 共享存储子系统,对硬件的要求较高,且并非高性能解决方案。 与此相比,基于硬件的数据仓库平台一般采用完全无共享体系。在这种体系下,通讯功 能部署在一个高宽带网络互连体系上,用户通过一个主控制节点执行并行查询。该体系的一 个重要优势就是每个节点都有一个通往本地磁盘的独立通道,不但简化了体系,还提供良好 的扩展性。但主控节点的存在使得系统规模扩张时主控节点可能成为系统瓶颈,且主控节点 一旦发生故障这个系统将无法提供服务。 DM MPP 采用的完全对等无共享体系架构,结合了完全无共享体系的优点,在此基础上 又前进了一步,不采用增加主控制节点来协调所有并行处理的主从式方法,而是各个节点完 全对等,更进一步简化了体系的实现,也消除了系统可能存在的主节点瓶颈问题。 图 2.1 是这几种数据库系统架构的整体结构示意图。

 

 

 

 

 

 

 

 

DM MPP 中的每一个 DM 数据库服务器实例作为一个执行节点,简称 EP。客户端可连接 任意一个 EP 节点进行操作,所有 EP 对客户来说都是对等的。 DM MPP 系统内每个 EP 只负责自身部分数据的读写,执行计划在所有 EP 并行执行, 能充分利用各 EP 的计算能力及发挥各 EP 独立存储的优势。数据只在必要时通过 DM 的高 速邮件 MAL 系统在 EP 间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模 并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显
原理概述
在 DM MPP 中,数据根据用户指定的分布规则分布在不同的 EP 上。MPP 的核心在于对 用户请求的并行执行,其执行流程可简单描述如下: 1. 用户选择一个 EP 登录,此时该 EP 就是此用户的主 EP,集群中的其余 EP 都是此 用户的从 EP; 2. 主 EP 接受用户的 SQL 请求,并生成并行执行计划; 3. 主 EP 将计划打包后分发给其他从 EP; 4. 各 EP 并行执行; 5. 主 EP 收集各 EP(包括自己)的执行结果; 6. 主 EP 将执行结果汇总后返回给用户。 如图 2.3 所示。

 

 

 

 

系统特性
DM MPP 采用完全对等不共享架构,系统中各 EP 的功能完全对等,因此对于用户来说, MPP 系统的处理是完全透明的,用户任意登录 MPP 系统的的任一节点进行操作都可获得完 全的 MPP 支持。 使用 DM MPP 可获得以下功能特性支持:
• TB/PB 级数据分析 支持数据的并行装载和操作的并行执行,数据分布式存储在各 EP 中,能支持 TB/PB 级数据分析。
• 支持绝大部分单机功能 支持绝大部分的 DM 单机版功能,同时支持行、列存储,支持存储过程、触发器、索引、 分区表、多媒体数据类型等。
• 高性价比 无需额外配置特殊软、硬件,性价比超高。
• 高可靠性 DM MPP 与 DM 数据守护相结合,为 MPP 系统中的每个 EP 配置一个或多个实时备库, 在 EP 发生故障时其对应备库能迅速切换为主库继续提供服务,确保系统的高可用性。
• 支持超大型集群 支持最多 1024 个 EP,轻松组建超大型集群。

 

测试部署4节点的达梦MPP集群数据库。

     网络配置

本次部署要求做双层网络,业务ip和心跳ip分为不同网段,由于DM MPP 系统需要通过网络在各 EP 间传递数据,因此网络的带宽较高,建议配置万兆内部网络。

节点

业务ip

心跳IP

网络要求

节点1

192.168.88.100

172.16.1.1

百兆网

节点2

192.168.88.101

172.16.1.2

百兆网

节点3

192.168.88.102

172.16.1.3

百兆网

节点4

192.168.88.103

172.16.1.4

百兆网

     软件配置

类型

名称和版本号

数量

说明

操作系统

centos 7.8 64位

4

需要安装gcc、gdb、unixodbc组件

数据库

达梦数据库管理系统 DM8

4

统计系统MPP集群

 

1      搭建MPP主备集群

    部署前准备

    集群规划

 

A机器

B机器

C机器

D机器

业务IP

192.168.88.100

192.168.88.101

192.168.88.102

192.168.88.103

心跳IP

172.16.1.1

172.16.1.2

172.16.1.3

172.16.1.4

实例名

TEST_MPP_01

TEST_MPP_44

TEST_MPP_02

TEST_MPP_33

TEST_MPP_03

TEST_MPP_22

TEST_MPP_04

TEST_MPP_11

实例端口

5538

5539

5538

5539

5538

5539

5538

5539

MAL端口

5638

5639

5638

5639

5638

5639

5638

5639

MAL守护进程端口

5738

5739

5738

5739

5738

5739

5738

5739

守护进程端口

5838

5839

5838

5839

5838

5839

5838

5839

OGUID

45331

45334

45332

45333

45333

45332

45334

45331

守护组

MPP01

MPP04

MPP02

MPP03

MPP03

MPP02

MPP04

MPP01

安装目录

/home/dmdba/dmdbms

实例目录

/dmdata/dmdb

归档上限

512000M

归档日志大小

512M

     配置A机器-TEST_MPP_01库

    初始化实例、脱机备份数据

--初始化实例

./dminit path=/dmdata/dmdb db_name=TEST_MPP_01 instance_name=TEST_MPP_01 page_size=32 extent_size=32 case_sensitive=0 charset=1 port_num=5538 sysdba_pwd=SYSDBA 

 

--前台正常启停数据库服务一次

./dmserver /dmdata/dmdb/TEST_MPP_01/dm.ini

 

--脱机备份数据

./dmrman ctlstmt=”backup database ‘/dmdata/dmdb/TEST_MPP_01/dm.ini’backupset ‘/dmdata/full_bak_01’”

 

--将备份文件scpD服务器上

scp -r /dmdata/full_bak_01 [email protected]:/dmdata

  修改dm.ini

vim /dmdata/dmdb/TEST_MPP_01/dm.ini

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI = 1 #打开归档配置

MPP_INI = 1 #启用 MPP 配置

    创建dmarch.ini

vi /dmdata/dmdb/TEST_MPP_01/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                     = /dmdata/dmarch/arch_01  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT        = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_11  #实时归档目标实例名

 

   创建dmmal.ini

vim /dmdata/dmdb/TEST_MPP_01/dmmal.ini

 MAL_CHECK_INTERVAL         = 10  #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL     = 10  #判定MAL链路断开的时间

MAL_COMPRESS_LEVEL         = 0  #MAL消息压缩等级,0表示不压缩

 

[MAL_INST1]

  MAL_INST_NAME   = TEST_MPP_01  #实例名,和 dm.ini中INSTANCE_NAME一致

  MAL_HOST          = 172.16.1.1  #MAL系统监听TCP连接的IP地址(心跳IP)

  MAL_PORT           = 5638  #MAL系统监听TCP连接的端口

  MAL_INST_HOST      = 192.168.88.100  #实例的对外服务IP地址

  MAL_INST_PORT      = 5538  #实例对外服务端口,和dm.ini中PORT_NUM一致

  MAL_DW_PORT       = 5738  #实例对应的守护进程监听TCP连接的端口

  MAL_INST_DW_PORT  = 5338  #实例监听守护进程TCP连接的端口

[MAL_INST2]

  MAL_INST_NAME            = TEST_MPP_02

  MAL_HOST                 = 172.16.1.2

  MAL_PORT                 = 5638

  MAL_INST_HOST            = 192.168.88.101

  MAL_INST_PORT            = 5538

  MAL_DW_PORT              = 5738

  MAL_INST_DW_PORT         = 5838

[MAL_INST3]

  MAL_INST_NAME            = TEST_MPP_03

  MAL_HOST                 = 172.16.1.3

  MAL_PORT                 = 5638

  MAL_INST_HOST            = 192.168.88.102

  MAL_INST_PORT            = 5538

  MAL_DW_PORT              = 5738

  MAL_INST_DW_PORT         = 5838

[MAL_INST4]

  MAL_INST_NAME            = TEST_MPP_04

  MAL_HOST                 = 172.16.1.4

  MAL_PORT                 = 5638

  MAL_INST_HOST            = 192.168.88.103

  MAL_INST_PORT            = 5538

  MAL_DW_PORT              = 5738

  MAL_INST_DW_PORT         = 5838

[MAL_INST5]

  MAL_INST_NAME            = TEST_MPP_11

  MAL_HOST                 = 172.16.1.4

  MAL_PORT                 = 5639

  MAL_INST_HOST            = 192.168.88.103

  MAL_INST_PORT            = 5539

  MAL_DW_PORT              = 5739

  MAL_INST_DW_PORT         = 5839

[MAL_INST6]

  MAL_INST_NAME            = TEST_MPP_22

  MAL_HOST                 = 172.16.1.3

  MAL_PORT                 = 5639

  MAL_INST_HOST            = 192.168.88.102

  MAL_INST_PORT            = 5539

  MAL_DW_PORT              = 5739

  MAL_INST_DW_PORT         = 5839

[MAL_INST7]

  MAL_INST_NAME            = TEST_MPP_33

  MAL_HOST                 = 172.16.1.2

  MAL_PORT                 = 5639

  MAL_INST_HOST            = 192.168.88.101

  MAL_INST_PORT            = 5539

  MAL_DW_PORT              = 5739

  MAL_INST_DW_PORT         = 5839

[MAL_INST8]

  MAL_INST_NAME            = TEST_MPP_44

  MAL_HOST                 = 172.16.1.1

  MAL_PORT                 = 5639

  MAL_INST_HOST            = 192.168.88.100

  MAL_INST_PORT            = 5539

  MAL_DW_PORT              = 5739

  MAL_INST_DW_PORT         = 5839

 

 

 

注:所有节点的dmmal.ini文件需保持一致,所以可以在一个节点配置好之后,直接拷贝到其他节点。

    创建dmmpp.ini

 vi  /dmdata/dmdb/TEST_MPP_01/dmmpp.ini

[service_name1]

  mpp_seq_no               = 0              #节点在mpp环境中的序号

  mpp_inst_name            = TEST_MPP_01    #节点实例名称

[service_name2]

  mpp_seq_no               = 1

  mpp_inst_name            = TEST_MPP_02

[service_name3]

  mpp_seq_no               = 2

  mpp_inst_name            = TEST_MPP_03

[service_name4]

  mpp_seq_no               = 3

  mpp_inst_name            = TEST_MPP_04

 

   创建dmmpp.ctl

使用数据库的dmctlcvt工具,将上一步配置的dmmpp.ini文件转换为dmmpp.ctl文件:

./dmctlcvt type=2  src=/dmdata/dmdb/TEST_MPP_01/dmmpp.ini   dest=/dmdata/dmdb/TEST_MPP_01/dmmpp.ctl

注:所有节点的dmmpp.ctl文件需保持一致,故可以在一个节点配置完成之后,直接拷贝到其他节点使用。

    创建dmwatcher.ini

 vim   /dmdata/dmdb/TEST_MPP_01/dmwatcher.ini

[MPP01]

  DW_TYPE                  = GLOBAL  #全局守护类型

  DW_MODE                = AUTO  #AUTO表示故障手动切换模式,AUTO表示故障自动切换模式

  DW_ERROR_TIME          = 20  #远程守护进程故障认定时间

  INST_ERROR_TIME          = 20  #本地实例故障认定时间

  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

  INST_OGUID               = 45331  #守护系统唯一OGUID值

  INST_INI                 = /dmdata/dmdb/TEST_MPP_01/dm.ini  #dm.ini文件路径

  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能

  INST_STARTUP_CMD       = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动

  RLOG_SEND_THRESHOLD   = 0  #指定主库发送日志到备库的时间阈值,默认关闭

  RLOG_APPLY_THRESHOLD    = 0  #指定备库重演日志的时间阈值,默认关闭

 

   拷贝实例

--拷贝实例到D机器

scp -r   /dmdata/dmdb/TEST_MPP_01 [email protected]: /dmdata/dmdb

 

    注册服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p TEST_MPP_01 -dm_ini   /dmdata/dmdb/TEST_MPP_01/dm.ini -m mount

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP01 -watcher_ini   /dmdata/dmdb/TEST_MPP_01/dmwatcher.ini

 

     配置B机器-TEST_MPP_02库

   初始化实例、脱机备份数据

--初始化实例

./dminit path=/dmdata/dmdb/ db_name=TEST_MPP_02 instance_name=TEST_MPP_02 page_size=32 extent_size=32 case_sensitive=0 charset=1 port_num=5538 sysdba_pwd=SYSDBA

 

--前台正常启停数据库服务一次

 ./dmserver /dmdata/dmdb/TEST_MPP_02/dm.ini

 

--脱机备份数据

 ./dmrman ctlstmt=”backup database ‘/dmdata/dmdb/TEST_MPP_02/dm.ini’backupset ‘/dmdata/full_bak_02’”

 

--将备份文件scp到C服务器上

scp -r /dmdata/full_bak_02 [email protected]:/dmdata

    修改dm.ini

vim /dmdata/dmdb/TEST_MPP_02/dm.ini

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI = 1 #打开归档配置

MPP_INI = 1 #启用 MPP 配置 

    修改dmarch.ini

 vim   /dmdata/dmdb/TEST_MPP_02/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_02  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_22  #实时归档目标实例名

 

   创建dmmal.ini

从A机器直接拷贝dmmal.ini文件即可。

    创建dmmpp.ini

直接从A机器直接拷贝dmmpp.ini文件即可。

   创建dmmpp.ctl

直接从A机器直接拷贝dmmpp.ctl文件即可。

    创建dmwatcher.ini

vi   /dmdata/dmdb/TEST_MPP_02/dmwatcher.ini

 [MPP02]

  DW_TYPE                  = GLOBAL  #全局守护类型

  DW_MODE                  = AUTO  #AUTO表示故障手动切换模式,AUTO表示故障自动切换模式

  DW_ERROR_TIME            = 20  #远程守护进程故障认定时间

  INST_ERROR_TIME          = 20  #本地实例故障认定时间

  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

  INST_OGUID               = 45332  #守护系统唯一OGUID值

  INST_INI                 = /dmdata/dmdb/TEST_MPP_02/dm.ini  #dm.ini文件路径

  INST_AUTO_RESTART      = 1  #打开实例的自动启动功能

  INST_STARTUP_CMD       = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动

  RLOG_SEND_THRESHOLD   = 0  #指定主库发送日志到备库的时间阈值,默认关闭

  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

 

   拷贝实例

-- 拷贝实例到C机器

scp -r   /dmdata/dmdb/TEST_MPP_02 [email protected]:/dmdata/dmdb

 

   注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_02 -dm_ini   /dmdata/dmdb/TEST_MPP_02/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP02 -watcher_ini   /dmdata/dmdb/TEST_MPP_02/dmwatcher.ini

 

     配置C机器-TEST_MPP_03库

    初始化实例、脱机备份数据

--初始化实例

./dminit path=/dmdata/dmdb/ db_name=TEST_MPP_03 instance_name=TEST_MPP_03 page_size=32 extent_size=32 case_sensitive=0 charset=1 port_num=5538 sysdba_pwd=SYSDBA

 

--前台正常启停数据库服务一次

 ./dmserver  /dmdata/dmdb/TEST_MPP_03/dm.ini

 

--脱机备份数据

 ./dmrman ctlstmt=”backup database ‘/dmdata/dmdb/TEST_MPP_03/dm.ini’backupset ‘/dmdata/full_bak_03’”

 

--将备份文件scp到B服务器上

scp -r /dmdata/full_bak_03 [email protected]:/dmdata

 

   修改dm.ini

vim /dmdata/dmdb/TEST_MPP_03/dm.ini

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI = 1 #打开归档配置

MPP_INI = 1 #启用 MPP 配置 

 

   创建dmarch.ini

vi   /dmdata/dmdb/TEST_MPP_03/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_03  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_33  #实时归档目标实例名

 

    创建dmmal.ini

从A机器直接拷贝dmmal.ini文件即可。

   创建dmmpp.ini

直接从A机器直接拷贝dmmpp.ctl文件即可。

   创建dmmpp.ctl

直接从A机器直接拷贝dmmpp.ctl文件即可。

    创建dmwatcher.ini

 vi   /dmdata/dmdb/TEST_MPP_03/dmwatcher.ini

[MPP03]

  DW_TYPE                  = GLOBAL  #全局守护类型

  DW_MODE                  = AUTO  #AUTO表示故障手动切换模式,AUTO表示故障自动切换模式

  DW_ERROR_TIME            = 20  #远程守护进程故障认定时间

  INST_ERROR_TIME          = 20  #本地实例故障认定时间

  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

  INST_OGUID               = 45333  #守护系统唯一OGUID值

  INST_INI                 = /dmdata/dmdb/TEST_MPP_03/dm.ini  #dm.ini文件路径

  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能

  INST_STARTUP_CMD       = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动

  RLOG_SEND_THRESHOLD   = 0  #指定主库发送日志到备库的时间阈值,默认关闭

  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

 

    拷贝实例

--拷贝实例到B机器

 scp -r   /dmdata/dmdb/TEST_MPP_03 [email protected]:/dmdata/dmdb

 

1.3.9    注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_03 -dm_ini   /dmdata/dmdb/TEST_MPP_03/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP03 -watcher_ini   /dmdata/dmdb/TEST_MPP_03/dmwatcher.ini

 

    配置D机器-TEST_MPP_04库

    实例、备份数据

--初始化实例

./dminit path=/dmdata/dmdb/ db_name=TEST_MPP_04 instance_name=TEST_MPP_04 page_size=32 extent_size=32 case_sensitive=0 charset=1 port_num=5538 sysdba_pwd=SYSDBA

 

--前台正常启停数据库服务一次

 ./dmserver  /dmdata/dmdb/TEST_MPP_04/dm.ini

 

--脱机备份数据

./dmrman ctlstmt=”backup database ‘/dmdata/dmdb/TEST_MPP_04/dm.ini’backupset ‘/dmdata/full_bak_04’”

 

--将备份文件scp到A服务器上

scp -r /dmdata/full_bak_04 [email protected]:/dmdata

 

   修改dm.ini

vim /dmdata/dmdb/TEST_MPP_04/dm.ini

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI = 1 #打开归档配置

MPP_INI = 1 #启用 MPP 配置 

 

  替换dmarch.ini

vi   /dmdata/dmdb/TEST_MPP_04/dmarch.ini

 [ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_04  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_44  #实时归档目标实例名

 

   创建dmmal.ini

从A机器直接拷贝dmmal.ini文件即可。

   创建dmmpp.ini

直接从A机器直接拷贝dmmpp.ctl文件即可。

    创建dmmpp.ctl

直接从A机器直接拷贝dmmpp.ctl文件即可。

    创建dmwatcher.ini

 vi   /dmdata/TEST_MPP_04/dmwatcher.ini

[MPP04]

  DW_TYPE                  = GLOBAL

  DW_MODE                  = AUTO

  DW_ERROR_TIME            = 20

  INST_ERROR_TIME          = 20

  INST_RECOVER_TIME        = 60

  INST_OGUID               = 45334

  INST_INI                 = /dmdata/dmdb/TEST_MPP_04/dm.ini

  INST_AUTO_RESTART        = 1

  INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver

  RLOG_SEND_THRESHOLD      = 0

  RLOG_APPLY_THRESHOLD     = 0

 

    拷贝实例

--拷贝实例到A机器

 scp -r   /dmdata/dmdb/TEST_MPP_04  [email protected]:/dmdata/dmdb

 

    注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_04 -dm_ini   /dmdata/dmdb/TEST_MPP_04/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP04 -watcher_ini   /dmdata/dmdb/TEST_MPP_04/dmwatcher.ini

 

    配置D机器-TEST_MPP_11库

    修改dm.ini

 vi   /dmdata/dmdb/TEST_MPP_01/dm.ini

INSTANCE_NAME              = TEST_MPP_11  #数据库实例名

PORT_NUM                   =5539  #数据库实例监听端口

 

   修改dmarch.ini

vi   /dmdata//dmdb/TEST_MPP_01/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_11  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_01  #实时归档目标实例名

 

    相同配置项

与A机器TEST_MPP_01的dmmal.ini、dmmpp.ini、dmmpp.ctl相同,直接拷贝即可

    注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_11 -dm_ini   /dmdata/dmdb/TEST_MPP_01/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP11 -watcher_ini   /dmdata/dmdb/TEST_MPP_01/dmwatcher.ini

   恢复数据

./dmrman CTLSTMT="RESTORE DATABASE '  /dmdata/dmdb/TEST_MPP_01/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_01'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_01/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_01'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_01/dm.ini' UPDATE DB_MAGIC"

 

     配置C机器-TEST_MPP_22库

    修改dm.ini

 vi   /dmdata/dmdb/TEST_MPP_02/dm.ini

INSTANCE_NAME              = TEST_MPP_22  #数据库实例名

PORT_NUM                   = 5539  #数据库实例监听端口

 

    替换dmarch.ini

vi   /dmdata/dmdb/TEST_MPP_02/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_22  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_02  #实时归档目标实例名

 

    相同配置项

与A机器TEST_MPP_01的dmmal.ini、dmmpp.ini、dmmpp.ctl相同,直接拷贝即可。

 

    注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_22 -dm_ini   /dmdata/dmdb/TEST_MPP_02/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP22 -watcher_ini   /dmdata/dmdb/TEST_MPP_02/dmwatcher.ini

 

    恢复数据

./dmrman CTLSTMT="RESTORE DATABASE '  /dmdata/dmdb/TEST_MPP_02/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_02'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_02/dm.ini' FROM BACKUPSET  ' /dmdata/full_bak_02'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_02/dm.ini' UPDATE DB_MAGIC"

 

    配置B机器-TEST_MPP_33库

    修改dm.ini

vi   /dmdata/dmdb/TEST_MPP_03/dm.ini

INSTANCE_NAME              = TEST_MPP_33  #数据库实例名

PORT_NUM                   =5539  #数据库实例监听端口

 

   替换dmarch.ini

vi   /dmdata/dmdb/TEST_MPP_03/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_33  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_03  #实时归档目标实例名

 

   相同配置项

与A机器TEST_MPP_01的dmmal.ini、dmmpp.ini、dmmpp.ctl相同,直接拷贝即可。

   注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_33 -dm_ini   /dmdata/dmdb/TEST_MPP_03/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP33 -watcher_ini   /dmdata/dmdb/TEST_MPP_03/dmwatcher.ini

 

    恢复数据

./dmrman CTLSTMT="RESTORE DATABASE '  /dmdata/dmdb/TEST_MPP_03/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_03'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_03/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_03'"

.//dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_03/dm.ini' UPDATE DB_MAGIC"

 

     配置A机器-TEST_MPP_44库

    修改dm.ini

 vi   /dmdata/dmdb/TEST_MPP_04/dm.ini

INSTANCE_NAME              = TEST_MPP_44  #数据库实例名

PORT_NUM                   = 5539  #数据库实例监听端口

 

    替换dmarch.ini

vi   /dmdata/TEST_MPP_04/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dmdata/dmarch/arch_44  #本地归档存放路径

  ARCH_FILE_SIZE           = 512  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 512000  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = TEST_MPP_04  #实时归档目标实例名

 

    配置相同项

与A机器TEST_MPP_01的dmmal.ini、dmmpp.ini、dmmpp.ctl相同,直接拷贝即可。

    注册服务

./dm_service_installer.sh -t dmserver -p TEST_MPP_44 -dm_ini   /dmdata/dmdb/TEST_MPP_04/dm.ini -m mount

./dm_service_installer.sh -t dmwatcher -p TEST_MPP_GP44 -watcher_ini   /dmdata/dmdb/TEST_MPP_04/dmwatcher.ini

 

    恢复数据

./dmrman CTLSTMT="RESTORE DATABASE '  /dmdata/dmdb/TEST_MPP_04/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_04'"

./dmrman CTLSTMT="RECOVER DATABASE '  /dmdata/dmdb/TEST_MPP_04/dm.ini' FROM BACKUPSET '  /dmdata/full_bak_04'"

./dmrman CTLSTMT="RECOVER DATABASE ' /dmdta/dmdb/TEST_MPP_04/dm.ini' UPDATE DB_MAGIC"

 

     启动服务及查看信息

    启动数据库实例

-- A机器

cd /home/dmdba/dmdbms/bin

 ./DmServiceTEST_MPP_01 start

 ./DmServiceTEST_MPP_44 start

 

-- B机器

cd /home/dmdba/dmdbms/bin

 ./DmServiceTEST_MPP_02 start

 ./DmServiceTEST_MPP_33 start

 

-- C机器

cd /home/dmdba/dmdbms/bin

 ./DmServiceTEST_MPP_03 start

 ./DmServiceTEST_MPP_22 start

 

-- D机器

cd /home/dmdba/dmdbms/bin

./DmServiceTEST_MPP_04 start

./DmServiceTEST_MPP_11 start

    修改参数

注意使用局部登录的方式

--A机器

./disql SYSDBA/SYSDBA@localhost:5538#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE PRIMARY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

 ./disql SYSDBA/SYSDBA@localhost:5539#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45334);

SQL> ALTER DATABASE STANDBY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

--B机器

 ./disql SYSDBA/SYSDBA@localhost:5538#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45332);

SQL> ALTER DATABASE PRIMARY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

 ./disql SYSDBA/SYSDBA@localhost:5539#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45333);

SQL> ALTER DATABASE STANDBY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

-- C机器

 ./disql SYSDBA/SYSDBA@localhost:5538#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45333);

SQL> ALTER DATABASE PRIMARY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

 ./disql SYSDBA/SYSDBA@localhost:5539#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45332);

SQL> ALTER DATABASE STANDBY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

-- D机器

./disql SYSDBA/SYSDBA@localhost:5538#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45334);

SQL> ALTER DATABASE PRIMARY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

./disql SYSDBA/SYSDBA@localhost:5539#"{mpp_type=local}"

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE STANDBY;

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

   启动守护进程

A机器

cd /home/dmdba/dmdbms/bin

 ./DmWatcherServiceTEST_MPP_GP01 start

 ./DmWatcherServiceTEST_MPP_GP44 start

B机器

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceTEST_MPP_GP02 start

./DmWatcherServiceTEST_MPP_GP33 start

C机器

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceTEST_MPP_GP03 start

./DmWatcherServiceTEST_MPP_GP22 start

D机器

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceTEST_MPP_GP04 start

./DmWatcherServiceTEST_MPP_GP11 start

 

    创建dmmonitor.ini

在监视器机器(143.128.4.47)上操作

vi /home/dmdba/dmmonitor/dmmonitor.ini

MON_DW_CONFIRM             = 1  #0为非确认,1为确认

MON_LOG_PATH               = /dmdata/dmmonitor/dmmonitor_log  #监视器日志文件存放路径

MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE          = 32  #单个日志大小,单位MB

MON_LOG_SPACE_LIMIT        = 0  #日志上限,单位MB

 

[MPP01]

  MON_INST_OGUID           = 45331  #组GMPP1_01的唯一OGUID 值

  MON_DW_IP                = 172.16.1.1:5738  #IP对应MAL_HOST,PORT对应MAL_DW_PORT

  MON_DW_IP                = 172.16.1.4:5739

[MPP02]

  MON_INST_OGUID           = 45332  #组GMPP1_02的唯一OGUID 值

  MON_DW_IP                = 172.16.1.2:5738

  MON_DW_IP                = 172.16.1.3:5739

[MPP03]

  MON_INST_OGUID           = 45333  #组GMPP1_03的唯一OGUID 值

  MON_DW_IP                = 172.16.1.3:5738

  MON_DW_IP                = 172.16.1.2:5739

[MPP04]

  MON_INST_OGUID           = 45334  #组GMPP1_04的唯一OGUID 值

  MON_DW_IP                = 172.16.1.4:5738

  MON_DW_IP                = 172.16.1.1:5739

 

    注册服务

./dm_service_installer.sh -t dmmonitor -p TEST_MPP -monitor_ini   /home/dmdb/dmmonitor/dmmonitor.ini

 

    启停集群

启动:

-- 启动实例

A机器: ./DmServiceTEST_MPP_01 start

B机器:./DmServiceTEST_MPP_02 start

C机器: ./DmServiceTEST_MPP_03 start

D机器: ./DmServiceTEST_MPP_04 start

 

D机器: ./DmServiceTEST_MPP_11 start

C机器:./DmServiceTEST_MPP_22 start

B机器:./DmServiceTEST_MPP_33 start

A机器: ./DmServiceTEST_MPP_44 start

 

--启动守护

A机器:./DmWatcherServiceTEST_MPP_GP01 start

B机器:./DmWatcherServiceTEST_MPP_GP02 start

C机器: ./DmWatcherServiceTEST_MPP_GP03 start

D机器: ./DmWatcherServiceTEST_MPP_GP04 start

 

D机器: ./DmWatcherServiceTEST_MPP_GP11 start

C机器:./DmWatcherServiceTEST_MPP_GP22 start

B机器:./DmWatcherServiceTEST_MPP_GP33 start

A机器: ./DmWatcherServiceTEST_MPP_GP44 start

 

--启动监视器

监视器机器:/DmMonitorServiceTEST_MPP start

 

停止:

--停止监视器

监视器机器:/DmMonitorServiceTEST_MPP stop

 

-- 停止守护

A机器: ./DmWatcherServiceTEST_MPP_GP01 stop

B机器:./DmWatcherServiceTEST_MPP_GP02 stop

C机器: ./DmWatcherServiceTEST_MPP_GP03 stop

D机器: ./DmWatcherServiceTEST_MPP_GP04 stop

 

D机器: ./DmWatcherServiceTEST_MPP_GP11 stop

C机器:./DmWatcherServiceTEST_MPP_GP22 stop

B机器:./DmWatcherServiceTEST_MPP_GP33 stop

A机器: ./DmWatcherServiceTEST_MPP_GP44 stop

 

--停止实例

A机器: ./DmServiceTEST_MPP_01 stop

B机器:./DmServiceTEST_MPP_02 stop

C机器: ./DmServiceTEST_MPP_03 stop

D机器: ./DmServiceTEST_MPP_04 stop

 

D机器: ./DmServiceTEST_MPP_11 stop

C机器:./DmServiceTEST_MPP_22 stop

B机器:./DmServiceTEST_MPP_33 start

A机器: ./DmServiceTEST_MPP_44 start

      配置服务名连接

    创建dm_svc.conf(4台机器上都配置)

vi /etc/dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

login_mode=(1)

TEST_MPP=(192.168.88.100:5538,192.168.88.101:5538,192.168.88.102:5538,192.168.88.103:5538,192.168.88.101:5539,192.168.88.102:5539,192.168.88.103:5539,192.168.88.104:5539)

 



达梦社区地址:https://eco.dameng.com   好文要顶 关注我 收藏该文 微信分享 stone469
粉丝 - 1 关注 - 0     +加关注 0 0     升级成为会员   « 上一篇:  达梦DM8数据守护主备集群搭建
» 下一篇:  达梦数据库体系结构(物理结构、逻辑结构、内存结构、线程结构) posted @ 2022-09-12 09:56  stone469  阅读(929)  评论(0)  编辑  收藏  举报    

标签:dm,Mpp,TEST,ini,MPP,dm8,MAL,达梦,dmdata
From: https://www.cnblogs.com/yaoyangding/p/18333126

相关文章

  • 达梦数据库体系结构(物理结构、逻辑结构、内存结构、线程结构)
    达梦数据库体系结构(物理结构、逻辑结构、内存结构、线程结构) DM目录数据库安装目录下图展示为DM8数据库目录。  /dm8/bin 目录存放DM数据库的可执行文件,例如disql命令、dminit命令、dmrman工具等。  /dm8/desktop 存放DM数据库各个工具的桌面图标......
  • Redhat 7.9上配置达梦数据库的DM 数据守护(DM Data Watch)
    Redhat7.9上配置达梦数据库的DM数据守护(DMDataWatch)一基础环境端口说明:注:主库已经安装软件,及创建数据库实例。并已开启归档模式。[dmdba@test1tool]$disqlsysdba/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态登录使用时间:6.060(ms)disqlV8SQL>......
  • 记录oracle迁移达梦的步骤
    1DTS(DM数据迁移工具)迁移应注意检查的相关事项1.1迁移数据可能会导致oracle内存溢出,需要oracle数据库管理人员在1.2先查询出备份表,确认查出来的是备份表,然后drop这些备份表,生产环境可能备份表也需要迁selectt.OWNER,table_name,T.NUM_ROWSfromdba_tabLES......
  • 达梦数据库系列—31. 事务和锁
    目录事务事务的状态事务的四种隔离级别ACID锁锁粒度锁等待与死锁锁查看锁处理事务数据库事务是指作为单个逻辑工作单元的一系列操作的集合。事务的状态NOT_START未启动ACTIVE活动LOCK_WAIT锁等待TRX4_PRE_COMMIT预提交事务ID(事务号):每个事务......
  • 达梦数据库系列—32.多版本并发控制MVCC
            在多版本控制以前,数据库仅通过锁机制来实现并发控制。数据库对读操作上共享锁,写操作上排他锁,这种锁机制虽然解决了并发问题,但影响了并发性。        DM数据库基于物理记录和回滚记录实现行级多版本支持,数据页中只保留物理记录的最新版本,通过回滚记录......
  • xampp下载
    实验介绍:XAMPP也就是集apache(web服务器软件),mysql(数据库)php(开源通用脚本语言),PERL(计算机程序语言)的集成软件包一:下载xampp官网:https://www.apachefriends.org/index.html在里面按系统选版本简单看一下有什么功能安装路径要求无中文等待安装,不要按取消如果按了取消(c......
  • Software-DM8-docker镜像
    Software-DM8-docker镜像达梦数据库达梦数据库管理系统DM8Docker镜像安装Docker安装dm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar注意如果使用docker容器里面的disql,进入容器后,先执行source/etc/profile防止中文乱码。新版本Docker镜像中数据库默认......
  • TapData 信创数据源 | 国产信创数据库达梦(Dameng)数据迁移指南,加速国产化进程,推进自主
    随着国家对自主可控的日益重视,目前在各个行业和区域中面临越来越多的国产化,采用有自主知识产权的国产数据库正在成为主流。长期以来,作为拥有纯国产自研背景的TapData,自是非常重视对于更多国产信创数据库的数据连接器支持,旗下产品已陆续与阿里云、华为云、麒麟软件、优炫数据库、A......
  • 达梦dmp导出导入命令包含特殊字符例子(以密码包含#为例)
    1WINDOWS导出导入1.1导出达梦客户端目录\dexp.exeuserid=TEST/\"TEST#12345678\"@10.10.100.100:5237DIRECTORY=D:\1FILE=dm_exp_test_10.dmpCOMPRESS=YLOG=dm_exp_test_10.log1.2导入--TABLE_EXISTS_ACTION=TRUNCATE对dimp不生效,如果需要truncate表数据后导入,自行......
  • 在我的 python 代码中,我无法使用 slixmpp 连接到 Openfire 服务器
    在我的python代码中,我无法连接到Openfire服务器。我想连接到OpenFire服务器我的代码是importthreadingimporttkinterastkfromtkinterimportsimpledialog,scrolledtextimportjsonimportloggingimportasynciofromslixmppimportClientXMPPcla......