码迷,mamicode.com
首页 > 其他好文 > 详细

Redis+sentinel 高可用实践

时间:2018-04-13 11:33:00      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:util   world   arping   get   com   col   ping   color   这一   

1、环境规划

  1. 10.213.50.138(主) redis+sentinel
  2. 10.213.50.168(从) redis+sentinel
  3. 10.213.50.227  作为客户端测试插入数

 

2、redis部署

wget http://download.redis.io/releases/redis-3.2.9.tar.gz
tar zxvf redis-3.2.9.tar.gz
cd redis-3.2.9
make && make install

cd utils/

./install_server.sh  #初始化脚本

 

3、redis配置(master)

bind 0.0.0.0
protected-mode yes
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
logfile "/var/log/redis_6379.log"

redis从配置
bind 0.0.0.0
protected-mode yes
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
logfile "/var/log/redis_6379.log"
slaveof  10.213.50.138  6379   #从redis比主redis多这一行

启动redis并检查info replication  是否正常
redis-server /etc/redis/6379.conf  在从redis上面观察

技术分享图片

 

4、配置redis-sentinel

protected-mode no
daemonize yes
port 26379
logfile "/var/log/redis/sentinel.log"
pidfile "/var/run/sentinel.pid"
sentinel monitor mymaster 10.213.50.138 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel client-reconfig-script mymaster /etc/notify_mymaster.sh
启动redis-sentinel  并检查状态
redis-sentinel /etc/sentinel.conf

技术分享图片

 

5、vip漂移脚本,需要执行权限

 

cat /etc/notify_mymaster.sh #!/bin/bash  
MASTER_IP=$6  
LOCAL_IP=10.213.50.168
VIP=10.213.50.188  
NETMASK=24          
INTERFACE=eth0  
if [ ${MASTER_IP} = ${LOCAL_IP} ]; then  
        /sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE}  
        /sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}  
       exit 0  
else  
        /sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE}  
       exit 0  
fi  
exit 1

6、客户端测试数据

cat redis.sh 
#!/bin/bash
for ((i=0;i<20000;i++))
do
echo -en "helloworld" | redis-cli -h 10.213.50.188 -x set name$i >>redis.log
sleep 1
done

 

7、绑定vip到主库

/sbin/ip addr add 10.213.50.188/24 dev eth0

8、停止主redis观察从库

技术分享图片

技术分享图片

 

从库变成了主库,并且vip地址漂移过来了

 

技术分享图片

 

技术分享图片

客户端插入数据会中断,中断时间就是redis  vip漂移及redis从库提升到主库的时间

Redis+sentinel 高可用实践

标签:util   world   arping   get   com   col   ping   color   这一   

原文地址:https://www.cnblogs.com/hellojackyleon/p/8818318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!