ITPub博客

首页 > 数据库 > 国内数据库 > 达梦数据库搭建部署读写分离集群

达梦数据库搭建部署读写分离集群

原创 国内数据库 作者:北辰123 时间:2020-04-01 14:14:35 0 删除 编辑

Centos7安装达梦数据库读写分离集群

一,安装达梦数据库

1. 准备4台虚拟机

192.168.100.254 主(内网)服务名DM01

192.168.10.254   ( 外网)

192.168.100.102 备 (内网)  服务名DM02

192.168.10.102   ( 外网)

192.168.100.103 备 (内网)  服务名DM03

192.168.10.103    ( 外网)

192.168.100.104 监视器

2. 挂载光盘

                                             

3. 创建安装用户和安装目录(dmdba)

4. 设置文件最大打开数目

[root@localhost ~]# ulimit -n 65536

5. 检查系统内存与存储空间

6. 配置环境变量

[root@localhost ~]# cd /home/dmdba/

[root@localhost dmdba]# vim .bash_profile

7. 安装数据库

8. 初始化实例

[dmdba@localhost cdrom]$ cd /dm7/bin

[dmdba@localhost bin]$ ./dminit path=/dm7/data

9. 注册服务

[root@localhost /]# cd /dm7/script/root/

10. 启动服务

[dmdba@localhost bin]$ ./dmserver /dm7/data/DAMENG/dm.ini  -- 前台启动

回车就行

[dmdba@localhost bin]$ ./DmServiceDM01 start    -- 后台启动

Stop  -- 关闭数据库

Restart  -- 重启数据库

(在四台都得安装达梦数据库)

二,编辑和修改配置文件(主库和备库)

1.   配置主库254的dm.ini

[dmdba@localhost ~]$ cd /dm7/data/DAMENG/

[dmdba@localhost DAMENG]$ vim dm.ini

修改参数

 INSTANCE_NAME = DM01            --实例名字

   PORT_NUM =  5236                --数据库实例监听端口

   DW_PORT = 33141                 --守护环境下,监听守护进程连接端口

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

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

   MAL_INI =  1                      --打开MAL系统

       ARCH_INI=  1                      --打开归档配置

2.   配置MAL系统dmmal.ini

[dmdba@localhost DAMENG]$ vim dmmal.ini

MAL_CHECK_INTERVAL   = 5     --MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL  = 5  --判定MAL链路断开的时间

[MAL_INST1]

MAL_INST_NAME     = DM01  --实例名,和dm.ini中的INSTANCE_NAME一致

MAL_HOST           = 192.168.100.254   --MAL系统监听TCP连接的IP地址

MAL_PORT           = 61141    --MAL系统监听TCP连接的端口

MAL_INST_HOST      = 192.168.10.254    --实例的对外服务IP地址

MAL_INST_PORT = 5236 --实例的对外服务端口,和dm.ini中的PORT_NUM一致

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

[MAL_INST2]  

MAL_INST_NAME          = DM02

MAL_HOST               = 192.168.100.102 

MAL_PORT               = 61142 

MAL_INST_HOST          = 192.168.10.102  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52142

[MAL_INST3]  

MAL_INST_NAME          = DM03

MAL_HOST               = 192.168.100.103 

MAL_PORT               = 61143 

MAL_INST_HOST          = 192.168.10.103  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52143 

(注:各主备库的 dmmal.ini 配置必须完全一致)      

3.   配置本地归档和即使归档dmarch.ini

   [dmdba@localhost DAMENG]$ vim dmarch.ini

[ARCHIVE_TIMELY1]

ARCH_TYPE     = TIMELY   --即时归档类型

ARCH_DEST     = DM02    --即时归档目标实例名

[ARCHIVE_TIMELY2]

ARCH_TYPE     = TIMELY   --即时归档类型

ARCH_DEST     = DM03    --即时归档目标实例名

[ARCHIVE_LOCAL1]

ARCH_TYPE     = LOCAL    --本地归档类型

ARCH_DEST     = /dm7/data/DAMENG/arch   --本地归档文件存放路径

ARCH_FILE_SIZE    = 128   --单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT  = 0    --单位Mb,0表示无限制,范围1024~4294967294M

4.   配置守护进程dmwatcher.ini

[dmdba@localhost DAMENG]$ vim dmwatcher.ini

      [GRP1]

DW_TYPE    = GLOBAL   --全局守护类型

DW_MODE    = AUTO   --自动切换模式

DW_ERROR_TIME     = 10   --远程守护进程故障认定时间

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

INST_ERROR_TIME   = 10     --本地实例故障认定时间

INST_OGUID         = 453332   --守护系统唯一OGUID值

INST_INI           = /dm7/data/DAMENG/dm.ini   --dm.ini配置文件路径

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

INST_STARTUP_CMD   = /dm7/bin/dmserver/   --命令行方式启动

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

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

[dmdba@localhost DAMENG]$ cd ../../bin

[dmdba@localhost bin]$./dmctlcvt TYPE=3 SRC=/dm7/data/DAMENG/dmwatcher.ini DEST=/dm7/data/  --会生成一份dmwatcher.ctl文件

[dmdba@localhost bin]$ cd ../data/GRP1/

[dmdba@localhost GRP1]$ cp dmwatcher.ctl /dm7/data/DAMENG/ -- 复制文件到数据文件/dm7/data/DAMENG/目录下

[dmdba@localhost GRP1]$scp -r /dm7/data/DAMENG/dmwatcher.ctl dmdba@192.168.100.102:/dm7/data/DAMENG/  --远程拷贝数据文件目录/dm7/data/DAMENG/目录下

[dmdba@localhost GRP1]$ scp -r /dm7/data/DAMENG/dmwatcher.ctl dmdba@192.168.100.103:/dm7/data/DAMENG/

( 注:同一个守护进程组,必须使用同一份dmwatcher.ctl)

5.   启动主库

[dmdba@localhost GRP1]$ cd /dm7/bin

[dmdba@localhost bin]$ ./dmserver /dm7/data/DAMENG/dm.ini mount  -- 要以mount方式启动主库

(注:如果mount方式启动报错,请先关闭数据库./DmServiceDM01 stop,再mount启动,启动好以后要新打开一个窗口)

6.   设置OGUID和修改数据库模式

[dmdba@localhost bin]$ ./disql  -- 启动命令行工具disql

      SQL>sp_set_oguid(453332);   -- 设置OGUID值

      SQL>alter database primary;  -- 修改数据库为Primary模式

7.   注册守护进程服务

 [root@localhost ~]# cd /dm7/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmwatcher -p DM01 -i /dm7/data/DAMENG/dmwatcher.ini

8.   配置102备库的dm.ini

[dmdba@localhost ~]$ cd /dm7/data/DAMENG/

[dmdba@localhost DAMENG]$ vim dm.ini

修改参数

     INSTANCE_NAME = DM02          

       PORT_NUM =  5236              

       DW_PORT = 33142                

       ALTER_MODE_STATUS  = 0        

       ENABLE_OFFLINE_TS  = 2           

       MAL_INI =  1                     

       ARCH_INI=  1                     

(注:也可以用主数据库scp远程拷贝各个配置文件,需要手动修改)

9.   配置MAL系统dmmal.ini

[dmdba@localhost DAMENG]$ vim dmmal.ini

MAL_CHECK_INTERVAL   = 5    

MAL_CONN_FAIL_INTERVAL  = 5  

[MAL_INST1]

MAL_INST_NAME     = DM01 

MAL_HOST           = 192.168.100.254   

MAL_PORT           = 61141    

MAL_INST_HOST      = 192.168.10.254    

MAL_INST_PORT = 5236

MAL_DW_PORT  = 52141    

[MAL_INST2]  

MAL_INST_NAME          = DM02

MAL_HOST               = 192.168.100.102 

MAL_PORT               = 61142 

MAL_INST_HOST          = 192.168.10.102  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52142

[MAL_INST3]  

MAL_INST_NAME          = DM03

MAL_HOST               = 192.168.100.103 

MAL_PORT               = 61143 

MAL_INST_HOST          = 192.168.10.103  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52143 

10.          配置本地归档和即使归档dmarch.ini

[dmdba@localhost DAMENG]$ vim dmarch.ini

[ARCHIVE_TIMELY1] 

ARCH_TYPE     = TIMELY 

ARCH_DEST     = DM01

[ARCHIVE_TIMELY2] 

ARCH_TYPE     = TIMELY

ARCH_DEST     = DM03

[ARCHIVE_LOCAL1]

ARCH_TYPE     = LOCAL

ARCH_DEST     = /dm7/data/DAMENG/arch

ARCH_FILE_SIZE    = 128

ARCH_SPACE_LIMIT  = 0

11.          配置守护进程dmwatcher.ini

[dmdba@localhost DAMENG]$ vim dmwatcher.ini

[GRP1]

DW_TYPE    = GLOBAL

DW_MODE    = AUTO  

DW_ERROR_TIME     = 10

INST_RECOVER_TIME  = 60

INST_ERROR_TIME   = 10

INST_OGUID         = 453332

INST_INI           = /dm7/data/DAMENG/dm.ini

INST_AUTO_RESTART  = 1

INST_STARTUP_CMD   = /dm7/bin/dmserver/

RLOG_SEND_THRESHOLD  = 0

RLOG_APPLY_THRESHOLD = 0    

12.          启动备库

[dmdba@localhost bin]$ ./dmserver /dm7/data/DAMENG/dm.ini mount

13.          设置OGUID和修改数据库模式

[dmdba@localhost bin]$ ./disql

SQL>sp_set_oguid(453332);

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

SQL>alter database standby;                             

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

14.          注册守护进程服务

 [root@localhost ~]# cd /dm7/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmwatcher -p DM02 -i /dm7/data/DAMENG/dmwatcher.ini

 

15.          配置103备库的dm.ini

[dmdba@localhost ~]$ cd /dm7/data/DAMENG/

[dmdba@localhost DAMENG]$ vim dm.ini

修改参数

     INSTANCE_NAME = DM03          

       PORT_NUM =  5236              

       DW_PORT = 33143                

       ALTER_MODE_STATUS  = 0        

       ENABLE_OFFLINE_TS  = 2          

       MAL_INI =  1                     

       ARCH_INI=  1                     

16.          配置MAL系统dmmal.ini

[dmdba@localhost DAMENG]$ vim dmmal.ini

MAL_CHECK_INTERVAL   = 5    

MAL_CONN_FAIL_INTERVAL  = 5  

[MAL_INST1]

MAL_INST_NAME     = DM01 

MAL_HOST           = 192.168.100.254   

MAL_PORT           = 61141    

MAL_INST_HOST      = 192.168.10.254    

MAL_INST_PORT = 5236

MAL_DW_PORT  = 52141    

[MAL_INST2]  

MAL_INST_NAME          = DM02

MAL_HOST               = 192.168.100.102 

MAL_PORT               = 61142 

MAL_INST_HOST          = 192.168.10.102  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52142

[MAL_INST3]  

MAL_INST_NAME          = DM03

MAL_HOST               = 192.168.100.103 

MAL_PORT               = 61143 

MAL_INST_HOST          = 192.168.10.103  

MAL_INST_PORT          = 5236 

MAL_DW_PORT   = 52143 

17.          配置本地归档和即使归档dmarch.ini

[dmdba@localhost DAMENG]$ vim dmarch.ini

[ARCHIVE_TIMELY1] 

ARCH_TYPE     = TIMELY 

ARCH_DEST     = DM01

[ARCHIVE_TIMELY2] 

ARCH_TYPE     = TIMELY

ARCH_DEST     = DM02

[ARCHIVE_LOCAL1]

ARCH_TYPE     = LOCAL

ARCH_DEST     = /dm7/data/DAMENG/arch

ARCH_FILE_SIZE    = 128

ARCH_SPACE_LIMIT  = 0

18.          配置守护进程dmwatcher.ini

[dmdba@localhost DAMENG]$ vim dmwatcher.ini

[GRP1]

DW_TYPE    = GLOBAL

DW_MODE    = AUTO  

DW_ERROR_TIME     = 10

INST_RECOVER_TIME  = 60

INST_ERROR_TIME   = 10

INST_OGUID         = 453332

INST_INI           = /dm7/data/DAMENG/dm.ini

INST_AUTO_RESTART  = 1

INST_STARTUP_CMD   = /dm7/bin/dmserver/

RLOG_SEND_THRESHOLD  = 0

RLOG_APPLY_THRESHOLD = 0    

19.          启动备库

[dmdba@localhost bin]$ ./dmserver /dm7/data/DAMENG/dm.ini mount

20.          设置OGUID和修改数据库模式

[dmdba@localhost bin]$ ./disql

SQL>sp_set_oguid(453332);

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

SQL>alter database standby;                             

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

21.          注册守护进程服务

 [root@localhost ~]# cd /dm7/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmwatcher -p DM03 -i /dm7/data/DAMENG/dmwatcher.ini

三,配置监视器

1.   编辑dmmontor.ini配置文件

[dmdba@localhost DAMENG]$ vim dmmonitor.ini

MON_DW_Confirm    = 1    --确认监视器模式

MON_LOG_PATH    = /dm7/data/log   --监视器日志文件存放路径

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

MON_LOG_FILE_SIZE   = 32   --每个日志文件最大32M

MON_LOG_SPACE_LIMIT  = 0   --不限定日志文件总占用空间

[GRP1]

MON_INST_OGUID    = 453332   --组GRP1的唯一OGUID值

--以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置

--IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT

MON_DW_IP     = 192.168.100.254:52141

MON_DW_IP     = 192.168.100.102:52142

MON_DW_IP     = 192.168.100.103:52143

2.   注册监视器服务

[root@localhost ~]# cd /dm7/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmmonitor -p dmmonitor -i /dm7/data/DAMENG/dmmonitor.ini

3.   启动各个主备库的守护进程

[dmdba@localhost bin]$ ./DmWatcherServiceDM01 start

[dmdba@localhost bin]$ ./DmWatcherServiceDM02 start

[dmdba@localhost bin]$ ./DmWatcherServiceDM03 start

4.   启动监视器

[dmdba@localhost bin]$ ./dmmonitor /dm7/data/DAMENG/dmmonitor.ini

到这里读写分离集群搭建完毕,如果出现报错请仔细检查配置文件,在监视器上执行 show命令,可以监控到所有实例都处于Open 状态,所有守护进程也都处于Open状态,即为正常运行状态,可以输入help命令,查看各种命令说明和使用


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69969690/viewspace-2683811/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-04-01

  • 博文量
    1
  • 访问量
    2650