读写分离一写两读变一写三读

一、需求说明:

1写2读集群。随着业务增加,导致集群整体运行缓慢的问题。现将1写2读集群升级为1写3读集群。
数据库版本:disql V7.6.0.197

二、集群环境信息

当前的集群节点的配置信息
系统名称 软件位置 实例路径 磁盘速度 网络速度
监视器(192.168.14.71) /opt/dmdbms/bin /home/dmdata 28.2 MB/秒 128.0MB/s
主节点(192.168.14.69) /opt/dmdbms/bin /home/dmdata 79.5 MB/秒 106.7MB/s
备节点(192.168.14.70) /opt/dmdbms/bin /home/dmdata 42.6 MB/秒 106.7MB/s
备节点(192.168.14.72) /opt/dmdbms/bin /home/dmdata 42.6 MB/秒 106.7MB/s
新节点的配置信息#
备节点(192.168.14.74) /opt/dmdbms/bin /home/dmdata 129 MB/秒 129.0MB/s

三、升级操作步骤

在新机器上安装同版本数据库
将同版本数据库安装软件放在/home/dmdba/dmsoft目录下,测试key
安装数据库
74:
su – dmdba
cd /home/dmdba/dmsoft
./ DMInstall.bin -i
安装路径:/opt/dmdbms/

1. 停止业务系统,停止网闸

2. 检查数据库中是否还有会话

主库69登录
select * from v s e s s i o n s w h e r e s t a t e = ′ A C T V I E ′ ; s e l e c t ∗ f r o m v sessions where state='ACTVIE'; select * from v sessionswherestate=ACTVIE;selectfromvsessions;

3. 在线做备份

su - dmdba
cd /opt/dmdbms/bin
./disql SYSDBA/'""’
BACKUP DATABASE FULL TO ZWWWBAK BAKFILE ’ /home/dmdata/bak/bak****/DB_BAK_
*.bak ’

4. 停止集群(确认出现shutdown successfully)

71:
su - dmdba
/etc/init.d
./DmMonitorDMMONITORCW stop
72:
/etc/init.d
./DmWatcherServiceDM72 stop
70:
/etc/init.d
./ DmWatcherServiceDM70 stop
69:
/etc/init.d
./DmWatcherServiceDM69 stop
69:
./DmServiceDM69 stop
70:
./DmServiceDM70 stop
72:
./DmServiceDM72 stop

5. 将拷贝的实例scp到74节点上的同一路径下

##登录到69节点
scp -r /home/dmdata/DAMENG dmdba@192.168.14.74:/home/dmdata/

6. 新节点74上修改配置文件dm.ini

cd /home/dmdata/DAMENG/dm.ini
vim dm.ini
INSTANCE_NAME =DM74

7. 所有节点修改配置文件dmmal.ini

cd /home/dmdata/DAMENG/
cp dmmal.ini dmmal.inibak
####所有节点做修改前cp备份dmmal.ini文件
MAL_CHECK_INTERVAL = 60
MAL_CONN_FAIL_INTERVAL = 60
[MAL_INST1]
MAL_INST_NAME = DM72
MAL_HOST = 192.168.14.72
MAL_PORT = 61141
MAL_INST_HOST = 192.168.14.72
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
[MAL_INST2]
MAL_INST_NAME = DM70
MAL_HOST = 192.168.14.70
MAL_PORT = 61141
MAL_INST_HOST = 192.168.14.70
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
[MAL_INST3]
MAL_INST_NAME = DM69
MAL_HOST = 192.168.14.69
MAL_PORT = 61141
MAL_INST_HOST = 192.168.14.69
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
[MAL_INST4]
MAL_INST_NAME = DM74
MAL_HOST = 192.168.14.74
MAL_PORT = 61141
MAL_INST_HOST = 192.168.14.74
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141

8. 新节点修改配置文件dmarch.ini

cd /home/dmdata/DAMENG/
cp dmarch.ini dmarch.inibk
vim /home/dmdata/DAMENG/dmarch.ini
ARCH_WAIT_APPLY=0
[ARCHIVE_TIMELY3]
ARCH_TYPE=TIMELY
ARCH_DEST=DM69
[ARCHIVE_TIMELY1]
ARCH_TYPE=TIMELY
ARCH_DEST=DM70
[ARCHIVE_TIMELY2]
ARCH_TYPE=TIMELY
ARCH_DEST=DM72
[ARCHIVE_LOCAL1]
ARCH_TYPE=LOCAL
ARCH_DEST=/home/dmdata/DAMENG/arch
ARCH_FILE_SIZE=512
ARCH_SPACE_LIMIT=102400

9. 配置svr_log

已在74上建立相同路径,不需要配置

10. 原集群所有节点添加arch配置

cd /home/dmdata/DAMENG/dmarch.ini
cp dmarch.ini dmarch.inibak
###做修改之前cp备份dmarch.ini
[ARCHIVE_REALTIEM4]
ARCH_TYPE = TIMELY
ARCH_DEST = DM74

11. 69节点生成dmwatcher.ctl文件,将其scp到其他三个节点上

###首先要对每个节点dmwatcher.ctl做备份
su - dmdba
cp /home/dmdata/DAMENG/dmwatcher.ctl /home/dmdata/DAMENG/dmwatcher.ctlbak
69:
su - dmdba
cd /opt/dmdbms/bin
./dmctlcvt TYPE=3 SRC=/home/dmdata/DAMENG/dmwatcher.ini DEST=/home/dmdata/DAMENG
scp /home/dmdata/DAMENG/dmwatcher.ctl dmdba@192.168.14.70:/home/dmdata/DAMENG/
scp /home/dmdata/DAMENG/dmwatcher.ctl dmdba@192.168.14.72:/home/dmdata/DAMENG/
scp /home/dmdata/DAMENG /dmwatcher.ctl dmdba@192.168.14.74:/home/dmdata/DAMENG/

12. 前台mount启动所有数据库

su - dmdba
cd /opt/dmdbms/bin
./dmserver /data/DAMENG/dm.ini mount

13. 配置新节点oguid及备库模式

设置OGUID:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(453331);
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);
修改备库模式:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
alter database standby;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

14. 所有节点启动守护

su - dmdba
cd /opt/dmdbms/bin
./dmwatcher /data/DAMENG/dmwatcher.ini

15. 在74上配置非确认监视器dmmonitor_normal.ini

MON_DW_CONFIRM=0
MON_LOG_PATH=/home/dmdata/DAMENG/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
MON_LOG_SPACE_LIMIT=0
[GRP1]
MON_INST_OGUID=453332
MON_DW_IP=192.168.14.69:52141
MON_DW_IP=192.168.14.70:52141
MON_DW_IP=192.168.14.72:52141
MON_DW_IP=192.168.14.74:52141

16. 修改71非确认监视器和确认监视器

71:
cd /opt/dmdbms/bin
vim dmmonitor_normal.ini
MON_DW_CONFIRM=0
MON_LOG_PATH=/home/dmdata/DAMENG/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
MON_LOG_SPACE_LIMIT=0
[GRP1]
MON_INST_OGUID=453332
MON_DW_IP=192.168.14.69:52141
MON_DW_IP=192.168.14.70:52141
MON_DW_IP=192.168.14.72:52141
MON_DW_IP=192.168.14.74:52141
vim dmmonitor_auto.ini
MON_DW_CONFIRM=1
MON_LOG_PATH=/home/dmdata/DAMENG/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
MON_LOG_SPACE_LIMIT=0
[GRP1]
MON_INST_OGUID=453332
MON_DW_IP=192.168.14.69:52141
MON_DW_IP=192.168.14.70:52141
MON_DW_IP=192.168.14.72:52141
MON_DW_IP=192.168.14.74:52141

17. 启动监视器,看集群是否正常

71:
cd /opt/dmdbms/bin
./dmmonitor.ini /home/dmdata/dmmonitor_normal.ini
show
tip

18. 正常后退出集群,退出数据守护,退出前台mount启动的数据库

##先退出监视器
71:
Exit
##再退出守护进程
74:exit
72:exit
70:exit
69:exit
##再退出前台mount启动的数据库
69:exit
70:exit
72:exit
74:exit

19. 注册服务

登录root用户
cd /opt/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdata/DAMENG/dm.ini -p DM74 -m mount
./dm_service_installer.sh -t dmwatcher -watcher_ini /home/dmdataDAMENG/dmwatcher.ini -p DM74

20. 修改dm_svc.conf

TIME_ZONE=(480)
LANGUAGE=(cn)
192.168.14.75=(192.168.14.70:5236,192.168.14.72:5236,192.168.14.69:5236,192.168.14.74:5236)
LOGIN_MODE=(1)

21. 启动集群

69:
cd /etc/init.d
./DmServiceDM69 start
70:
cd /etc/init.d
./DmServiceDM70 start
72:
cd /etc/init.d
./DmServiceDM72 start
74:
cd /etc/init.d
./DmServiceDM74 start
69:
cd /etc/init.d
./DmWatcherServiceDM69 start
70:
cd /etc/init.d
./DmWatcherServiceDM70 start
72:
cd /etc/init.d
./DmWatcherServiceDM72 start
74:
cd /etc/init.d
./DmWatcherServiceDM74 start
71:
cd /etc/init.d
./DmMonitorDMMONITORCW start
22. 高可用测试,测试主备切换
71:
cd /opt/dmdbams/bin
./dmmonitor /home/dmdata/dmmonitor_normal.ini
login
用户名:SYSDBA
密码:******
switchover DM74
show
switchover DM69

23. 交付应用,核查数据

https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值