欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

达梦-读写分离集群部署-完整版

程序员文章站 2022-06-13 20:36:41
...

达梦读写分离集群搭建

数据库安装

一、包检查

第一步就是要获取对应的数据库包,检查数据库的包和环境是否匹配。
主要检查三个方面:
1)架构,x86平台装x86的数据库包,arm平台装arm的包
2)cpu:lscpu查看cpu信息
3)操作系统
这三个都对应了,那数据库的版本就获取对了。然后拿安装包安装数据库。

二、创建组和用户

#创建安装用户组dinstall
groupadd  dinstall
#创建安装用户dmdba,将新建用户放在用户组dinstall中
useradd  –g  dinstall  –m  –d /home/dmdba  –s  /bin/bash  dmdba
#初始化用户密码
passwd  dmdba

三、修改openfile参数

输入命令检查openfile参数是否为65536或者无限制
#输入命令检查open file参数:
ulimit –a
若open file参数不是65536或者无限制则用以下方式进行修改:
#输入命令进入limits.conf文件编辑界面:

vi  /etc/security/limits.conf

进入到limits.conf文件后,键盘按“i”开始插入数据,在文件内容末尾增加内容:

* soft  nofile  65536
* hard  nofile  65536

添加完毕之后先按键盘“esc”键,再输入:wq,回车后退出文件编辑界面。
#输入命令重启服务器
reboot;
#输入命令查看参数修改是否成功
ulimit –a

四、挂载镜像文件并授权

将镜像文件直接上传在根目录,在根目录下将数据库安装包挂载在/mnt目录

mount  -o  loop  dm8_setup_rh6_64_ent_8.1.1.76_20200422.iso  /mnt

授权

chmod  755  ./DMInstall.bin

五、切换安装用户执行安装文件

#切换dmdba用户进行安装。
su  dmdba

#执行安装文件
./DMInstall.bin –i

集群搭建

此处以一读一写集群为例,需要明确,一读一写集群需要三台服务器。一台主,一台备,一台监视器。

一、初始化实例

#在两台服务器上分别用dminit初始化实例(实例初始化时需要明确初始化参数)

./dminit path=/dmdata/data   

#在两台服务器上分别启停库一次

./dmserver /dmdata/data/DAMENG/dm.ini

末尾输入exit退出。

二、配置数据守护集群

1.在主库DM1上脱机备份
#使用dmrman备份主库DM1

./dmrman ctlstmt="backup database '/dmdata/data/DAMENG/dm.ini' full to backup20210118 backupset '/dmdata/data/DAMENG/backup20210118'"

#将备份发送到备库DM2

scp	-r	/dmdata/data/DAMENG/backup20210118/ 192.168.96129:/dmdata/data/DAMENG

2.在备库DM2上进行备份还原与更新
#在备库上使用dmrman还原、恢复与更新
还原:

./dmrman ctlstmt="restore database '/dmdata/data/DAMENG/dm.ini' from backupset '/dmdata/data/DAMENG/backup20210118'"

恢复:

./dmrman ctlstmt="recover database '/dmdata/data/DAMENG/dm.ini' from backupset '/dmdata/data/DAMENG/backup20210118'"

更新db_magic:

./dmrman ctlstmt="recover database '/dmdata/data/DAMENG/dm.ini' update db_magic'"

3.配置主库DM1
1)配置主库dm.ini

INSTANCE_NAME=DM1
COMPATIBLE_MODE=2
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2

2)配置主库dmmal.ini

MAL_CHECK_INTERVAL = 5 
MAL_CONN_FAIL_INTERVAL = 5 
[MAL_INST1] 
MAL_INST_NAME = DM1
MAL_HOST =192.168.96.128
MAL_PORT = 61141 
MAL_INST_HOST = 192.168.96.128
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141 
MAL_INST_DW_PORT = 33141 
[MAL_INST2] 
MAL_INST_NAME = DM2 
MAL_HOST = 192.168.96.129
MAL_PORT = 61142 
MAL_INST_HOST = 192.168.96.129
MAL_INST_PORT = 5236 
MAL_DW_PORT = 52142 
MAL_INST_DW_PORT = 33142

3)配置主库dmarch.ini

[ARCHIVE_TIMELY1] 
ARCH_TYPE = TIMELY 
ARCH_DEST = DM2  
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /dmdata/data/DAMENG/arch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 10240

(根据实际情况设置ARCH_SPACE_LIMIT值,此处设置归档上限为10G)
4)配置主库dmwatcher.ini

[GRP1]
DW_TYPE = GLOBAL 
DW_MODE = AUTO 
DW_ERROR_TIME = 10 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /dmdata/data/DAMENG/dm.ini 
INST_AUTO_RESTART = 1 
INST_STARTUP_CMD = /opt/dmdbms/bin/bin/dmserver 
RLOG_SEND_THRESHOLD = 0 
RLOG_APPLY_THRESHOLD = 0 

5)将配置文件发送到备库
#将dmmal.ini dmarch.ini dmwatcher.ini发到备库DM2

scp dmmal.ini dmarch.ini dmwatcher.ini @192.168.96.129:/dmdata/data/DAMENG 

6)配置主库OGUID
#以mount模式开启主库

./dmserver /dmdata/dmdata/data/DAMENG/dm.ini mount

#登录disql,修改OGUID

sp_set_oguid(453331);

#修改数据库模式

alter database primary;

4.配置备库DM2
1)分别配置dm.ini
分别将INSTANCE_NAME设置为DM2

INSTANCE_NAME=DM2
COMPATIBLE_MODE=2
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2

2)修改dmarch.ini
将ARCH_DEST参数修改为除自己外的库

[ARCHIVE_TIMELY1] 
ARCH_TYPE = TIMELY 
ARCH_DEST = DM1  
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /dmdata/data/DAMENG/arch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 10240

3)配置备库的OGUID
#以mount模式开启备库

./dmserver /dmdata/data/DAMENG/dm.ini mount

#登录disql,修改OGUID

sp_set_oguid(453331);

#修改数据库模式

alter database standby;

5.注册服务

在主和备数据库服务器上分别注册实例服务和守护进程服务。
在监视器所在服务器上注册监视器服务。
6配置确认监视器
在192.168.96.130服务器上安装数据库,然后配置确认监视器。
监视器配置文件路径:
/opt/dmdbms/dmmonitor.ini
监视器日志:
/opt/dmdbms/log
5.6.1配置dmmonitor.ini

MON_DW_Confirm = 1
MON_LOG_PATH = /opt/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331 
MON_DW_IP = 192.168.96.128:52141
MON_DW_IP = 192.168.96.129:52142

配置服务名

cd /etc
vi dm_svc.conf

TIME_ZONE=(480)
LANGUAGE=(cn)
DM=(192.168.96.128:5236,192.168.96.129:5236)
login_mode=(1)
RW_SEPARATE=1

设置备份作业

相关标签: DM8