IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux达梦8读写分离集群搭建 -> 正文阅读

[系统运维]Linux达梦8读写分离集群搭建

?达梦主备集群部署

读写分离集群可以看成是主备集群的升级版本,相较于实时主备,读写分离可以部署主库和最多8个即时备库。

一、数据库安装

数据库安装和之前的一样,省事的话可以用一个服务器安装好数据库,然后克隆使用。

用命令行安装单机库,创建组dinstall和用户dmdba,3个文件夹(要授权给dmdba用户)

groupadd dinstall
useradd -g dinstall -d /home/dmdba dmddba
mkdir -p /home/dmdata /home/dmarch /home/dmbak
chown -R dmdba:dinstall /home/dmdata /home/dmarch /home/dmbak

修改open file参数,ulimit -a后检查open files参数是否为65536

图中为1024,要修改为65536

切换至root用户,输入

vi /etc/security/limits.conf

将下面两行内容增加到末尾(在end前),:wq保存退出。

* soft? nofile? 65536

* hard? nofile? 65536

reboot重启操作系统,输入ulimit -a查看是否修改成功,此时已修改成功。

将安装包放在opt目录下,授权然后挂载挂载安装包

chmod 755 dm8.iso
mount dm8.iso /mnt/

授权

chmod 755 DMInstall.bin

切换用户dmdba,执行安装,使用命令行方式安装

在两台服务器上进行初始化实例,在/dmdbms/bin目录下输入命令:

./dminit path=/home/dmdata page_size=16

启动测试一次,

./dmserver /home/dmdata/DAMENG/dm.ini

然后exit关停。

二、集群搭建步骤

1.对主库DM1进行脱机备份

在bin目录中,使用脱机备份工具dmrman,指定备份文件名backuptest(名字自取),输入命令:

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

2.读对备库DM2进行备份还原与更新

在主库中,将备份文件发给备库,如果备库dmdba用户没有设置密码,就用root用户来操作,在ip地址前加root@:

scp -r /home/dmdata/DAMENG/backup20210721/ 192.168.209.136:/home/dmdata/DAMENG/

切换至备库,使用root用户给备份文件授权,

chown -R dmdba:dinstall backuptest

备库切换用户至dmdba,到dmdbms/bin目录中使用dmrman工具进行备份还原与更新。

还原指令:./dmrman ctlstmt="restore database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backuptest'"
恢复指令:./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backuptest'"
更新db_magic: ./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini'"

备份还原操作是为了确保主备库完全同步,这个操作是整个主备集群搭建的基础。

3.配置主库DM1和备库DM2

先找到主备库的/DAMENG/dm.ini文件,进行修改。

vi dm.ini
修改以下配置:
INSTANCE_NAME=DM1(备库为DM2)
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2    
修改完成后保存退出

在主库的DAMENG目录里配置dmmal.ini文件,要注意下主备库的ip地址和各端口号。

vi dmmal.ini
复制以下内容:
MAL_CHECK_INTERVAL = 5 
MAL_CONN_FAIL_INTERVAL = 5 
[MAL_INST1] 
MAL_INST_NAME = DM1
MAL_HOST =192.168.209.128
MAL_PORT = 61141 
MAL_INST_HOST = 192.168.209.128
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141 
MAL_INST_DW_PORT = 33141 
[MAL_INST2] 
MAL_INST_NAME = DM2 
MAL_HOST = 192.168.209.129
MAL_PORT = 61142 
MAL_INST_HOST = 192.168.209.129
MAL_INST_PORT = 5236 
MAL_DW_PORT = 52142 
MAL_INST_DW_PORT = 33142

在该目录下配置dmarch.ini文件,配置本地归档和即时归档(与实时主备的不同之处)。

vi dmarch.ini
复制以下内容:
ARCH_WAIT_APPLY=LOCAL
[ARCHIVE_REALTIME1] 
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = DM2  
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /home/dmarch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 0

在该目录下配置dmwatcher.ini文件:

vi dmwatcher.ini
复制以下内容:
[GRP01]
DW_TYPE = GLOBAL 
DW_MODE = AUTO 
DW_ERROR_TIME = 10 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /home/dmdata/DAMENG/dm.ini 
INST_AUTO_RESTART = 1 
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0 
RLOG_APPLY_THRESHOLD = 0 

将以上配置文件发送到备库DM2里:

scp dmmal.ini dmarch.ini dmwatcher.ini root@192.168.209.129:/home/dmdata/DAMENG

在备库里修改dmarch.ini文件

dmarch.ini:
ARCH_DEST = DM1  

处理好配置文件后,要配置主备库的OGUID。

先进入bin目录,然后以mount开启主库,

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

直到出现

新开一个窗口,切换dmdba用户,进入bin目录,用达梦系统管理员SYSDBA打开disql工具。

./disql SYSDBA/SYSDBA    

输入语句,修改OGUID。

sp_set_oguid(453331);

?修改主备库模式。

主库:alter database primary;
备库:alter database standby;

如果输入错误输入语句进行修改:

启动修改权限:SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',1);
输入语句:SQL>SP_SET_OGUID(453331);
关闭修改权限:SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',0);

?4.注册启动服务和守护服务

主备库切换root用户,进入dmdbms/script/root中注册实例服务。

注册主库实例服务:

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM1

注册主库守护进程服务:

./dm_service_installer.sh -t dmwatcher -watcher_ini /home/dmdata/DAMENG/dmwatcher.ini -p DM1

注册备库实例服务:

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM2

注册备库守护进程:

./dm_service_installer.sh -t dmwatcher -watcher_ini /home/dmdata/DAMENG/dmwatcher.ini -p DM2

5.配置确认监视器

由于是自行练习搭建主备集群,所以监视器可以直接配置在备库上,也可以单独开一个服务器用于监视。但在实际项目中,监视器必须放在第三台机器上。

以下操作是在备库上进行。

使用dmdba用户,在dmdbms中创建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
[GRP01]
MON_INST_OGUID = 453331 
MON_DW_IP = 192.168.209.135:52141
MON_DW_IP = 192.168.209.136:52142

启动各个主备库各个进程:

?最后进入bin目录打开监视器。

./dmmonitor /home/dmdba/dmdbms/dmmonitor.ini

?

?最后DM1,DM2守护都是open状态,此时即为读写分离集群搭建成功。

如果进程还处于mount状态,可以重启守护进程,也可能是防火墙的问题,要记住关闭防火墙。

注意:关闭进程一定要先关闭守护进程,然后再关闭实例进程,因为守护进程会自动拉起关闭的实例进程。

总结

读写分离集群和实时主备集群的搭建流程基本一致,但是一定注意dmarch.ini,因为读写分离是支持即时归档的,这也是读写分离的集群的不同之处。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:10:24  更:2021-08-02 11:11:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 0:25:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码