读写分离集群-手动切换模式
一、配置环境说明
机器名 | IP地址 | 实例信息 |
---|---|---|
主机 | 192.168.106.128 | DM128 |
备机 | 192.168.106.129 | DM129 |
确认监视器 | window主机 | 确认监视器 |
端口规划
实例名 | PORT_NUM(MAL_INST_PORT)MAL_INST_DW_PORT(实例监听守护进程TCP连接端口) | MAL_HOST(MAL系统监听TCP连接的IP) | MAL_PORT(MAL系统监听TCP连接的端口) | MAL_DW_PORT(守护进程监听TCP端口) |
---|---|---|---|---|
DM128 | 5237 | 33141 | 192.168.106.128 | 61141 |
DM129 | 5236 | 33142 | 192.168.106.129 | 61142 |
二、配置
本次搭建在数据守护集群上修改的,具体搭建见https://blog.csdn.net/yuDazzle/article/details/107905023
其中,不同点在以下:
1.读写分离采用的是即时归档(TIMELY),数据守护采用的是实时归档(REALTIME)
2.这里配置的是非确认监视器(不可以自动切换主备)
将MON_DW_CINFIRM的值改为0
3.修改好配置文件后重启主备守护进程,重启监视器,读写分离集群运行正常。
三、模拟主机断电
1.重启主机
2.登录监视器,让备机DM129接管
(1)使用login命令登录监视器
(2)takeover让备机接管
3.将DM128重启后,启动DM128守护进程
4.DM128重新接入后处于主库配置状态,DM129处于主库打开状态,监视器报错,
退出监视器,退出DM128守护进程,修改DM128模式为备库
5.开启DM128守护进程,重登监视器
四、模拟备机故障
1.将备机重启后,监视器收到备机消息超时
2.主机无异常,备机重新接入后,整个集群运转正常。
五、测试集群
1.集群运转正常时,在主库下建立一张t1表,并向表中插入数据;
2.在备库中可以同步查询到表t1中的数据(但是不能对表进行增、删、改操作);
3.备机故障期间,在主机上新建表t2,并插入一条数据
4.备机修复故障以后,集群正常运转,可以查询到表t2的数据;读写分离运转正常;