您的位置:首页 > 数据库 > Redis

redis 集群之sentinel+脚本切换实现高可用切换

2015-10-30 16:44 876 查看
环境:真实IP:10.1.4.25 10.1.4.26 10.1.4.27 10.1.4.28vip: 10.1.4.85 10.1.4.86 10.1.4.87监控机:10.1.3.185目的:通过redis-sentinel+脚本实现高可用故障切换!主从搭建(省略)10.1.4.25/6381 10.1.4.26/6382 10.1.4.27/6383 多实例备库10.1.4.28/6381/6382/6383脚本 redis_failover_4_25.sh redis_failover_4_26.sh redis_failover_4_27.sh只放在真是机器上,监控机不用放。赋权chmod +x脚本:
#!/bin/bash
MASTER_IP=$6
VIP='10.1.4.85'     # VIP
NETMASK='24'          # Netmask
INTERFACE='eth1'      # 接口
MY_IP="`ifconfig ${INTERFACE} | awk -F '[ :]+' 'NR==2{print $4}'`"   # 每个Server本身的IP
if [ ${MASTER_IP} = ${MY_IP} ]; then
/sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE} label ${INTERFACE}:1
/sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}
exit 0
else
/sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE} label ${INTERFACE}:1
exit 0
fi
exit 1
3. 哨兵sentinel3.185上启动3个哨兵 sentinel_4_25.conf sentinel_4_26.conf sentinel_4_27.conf4.25上启动一个哨兵:sentinel_4_25.conf4.26上启动一个哨兵:sentinel_4_26.conf4.27上启动一个哨兵:sentinel_4_27.conf4.28上启动3个哨兵 sentinel_4_25.conf sentinel_4_26.conf sentinel_4_27.conf模板:sentinel_4_25.conf
# sentinel 配置
# by : 王老虎

port 26325
daemonize yes
logfile "/u01/redis/log/sentinel26325.log"

sentinel monitor dbamaster1 10.1.4.25 6381 2
sentinel down-after-milliseconds dbamaster1 3000
sentinel failover-timeout dbamaster1 30000
sentinel client-reconfig-script dbamaster1 /etc/redis/redis_failover_4_25.sh
sentinel parallel-syncs mymaster 1
略解释下名词:sentinel monitor dbamaster1 10.1.4.25 6381 2#监控的IP 端口 以及几路检测判断sentinel down-after-milliseconds dbamaster1 3000 #两路检测3s都没连上 启动切换sentinel failover-timeout dbamaster1 30000 #稍后解释sentinel client-reconfig-script dbamaster1 /etc/redis/redis_failover_4_25.sh#执行脚本sentinel parallel-syncs mymaster 1 #出现问题后允许几个备库同步数据5. VIPip addr add 10.1.4.85/24 label eth1:1 dev eth1ip addr add 10.1.4.86/24 label eth1:1 dev eth1ip addr add 10.1.4.87/24 label eth1:1 dev eth1启动哨兵:

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis sentinel 脚本