达梦-读写分离集群部署-完整版
达梦读写分离集群搭建
数据库安装
一、包检查
第一步就是要获取对应的数据库包,检查数据库的包和环境是否匹配。
主要检查三个方面:
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
设置备份作业
上一篇: java8中接口default、static新特性,与抽象类区别
下一篇: MVP乞丐完整版
推荐阅读