配置了两台redis主从failover
来源:互联网 发布:东航巴黎昆明 知乎. 编辑:程序博客网 时间:2024/05/01 23:35
使用keepalived+lvs配置了两台redis,
切换本机redis为主机脚本
切换本机为从 脚本
用作主从failover,
192.168.56.101:6380工作机器1 ;部署redis1 keepalived 1
192.168.56.102:6380工作机器2;部署redis1 keepalived 1
192.168.56.103对外开放的访问VIP
效果:两台机器中有任何一台keepalived挂掉后,另外一台keepalived会争抢VIP,同时运行切换脚本,保证了VIP服务的可用性
客户端只要连接VIP就可以透明使用redis.
缺点:如果只是redis挂掉,keepalived没挂掉,则切换不成功
-----------------------------------keepalived配置-----------------------------------------
文件/etc/keepalived/keepalived.conf
vrrp_script chk_redis { script "/home/proxy/keep2machine2redis/scripts/redis_check.sh" 2 interval 2}vrrp_instance VI_1 { state SLAVE interface eth3 virtual_router_id 51 priority 150 nopreempt authentication { auth_type PASS auth_pass redis track_script { chk_redis } virtual_ipaddress { 192.168.56.103 } notify_master /home/proxy/keep2machine2redis/scripts/redis_master.sh notify_backup /home/proxy/keep2machine2redis/scripts/redis_backup.sh notify_fault /home/proxy/keep2machine2redis/scripts/redis_fault.sh notify_stop /home/proxy/keep2machine2redis/scripts/redis_stop.sh}
redis状态与主从切换脚本
/home/proxy/keep2machine2redis/scripts
检测存活脚本
#!/bin/bashecho "going PING 6380" >>/home/proxy/keep2machine2redis/log.txtALIVE=`/home/cache/redis6380/src/redis-cli -p 6380 PING`echo "6380" $ALIVE >>/home/proxy/keep2machine2redis/log.txtif [ "$ALIVE" == "PONG" ]; then echo $ALIVE exit 0else echo $ALIVE exit 1fi
切换本机redis为主机脚本
#!/bin/bashREDISCLI="/home/cache/redis6380/src/redis-cli -p 6380"LOGFILE="/home/proxy/keep2machine2redis/log.txt"echo "[master]" >> $LOGFILEdate >> $LOGFILEecho "Being master...." >> $LOGFILE 2>&1echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.56.102 6380 >> $LOGFILE 2>&1sleep 10 #延迟10秒以后待数据同步完成后再取消同步状态echo "Run SLAVEOF NO ONE cmd ..." >> $LOGFILE$REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1
切换本机为从 脚本
#!/bin/bashREDISCLI="/home/cache/redis6380/src/redis-cli -p 6380 "LOGFILE="/home/proxy/keep2machine2redis/log.txt"echo "[backup]" >> $LOGFILEdate >> $LOGFILEecho "Being slave....wait" >> $LOGFILE 2>&1sleep 5 echo "Run SLAVEOF cmd ..." >> $LOGFILE$REDISCLI SLAVEOF 192.168.56.102 6380 >> $LOGFILE 2>&1
需要解决的问题:
1.keepalived是多久检测一次redis状态,是否可以心跳?
2.我试图在同一个keepalived配置中配置两个vrrp实例,但是这样启动有问题,查看ip addr发现vip没绑定上
3.我本来是用keepalived -f configFile.conf 的启动方式,但是查看/etc/log/message 发现三个进程中有一个child process faild,启动失败,
后来是用默认的配置文件位置就好了。。。。
0 0
- 配置了两台redis主从failover
- Redis主从自动failover
- Redis主从自动failover
- Redis主从自动failover
- Redis主从自动failover
- Redis 安装,主从配置及Sentinel配置自动Failover
- redis sentinel 主从切换(failover)解决方案,详细配置
- redis sentinel 主从切换(failover)解决方案,详细配置
- redis sentinel 主从切换(failover)解决方案,详细配置
- redis sentinel 主从切换(failover)解决方案,详细配置
- redis sentinel 主从切换(failover)解决方案,详细配置
- 【Python】redis sentinel主从切换(failover)
- 在一台服务器上(centOS)配置Redis主从
- 一台windows安装两台mysql并配置主从复制
- 【Redis3】基于Redis sentinel的自动failover主从复制
- redis的sentinel哨兵3节点failover主从复制
- redis4.0.1主从配置及Sentinel配置自动Failover
- Redis主从配置
- 公有云PaaS平台邀请码分享
- Drupal 7 模块 .info 文件介绍
- Notepad++的ftp远程编辑功能
- MySql数据库的基本操作-表数据中的 唯一约束 & 默认约束
- Leetcode: Balanced Binary Tree
- 配置了两台redis主从failover
- Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转
- MyBatis官方小例代码剖析
- Java ZIp 压缩和解压
- hdu 1258 Sum It Up (dfs)
- 然而,家乡生活的舒适和安逸,对我的惰性来说,是一大引诱
- QT 操作记录,待实践
- linux中Dcumentation目录下的basic_profiling.txt文档翻译
- 开发小技巧:创建自定义的HTML5输入框验证出错信息