Redis 多主写多从度 配置启动OK ;直接配 keepalived  相关配置;

redis
默认路径 :/usr/local/redis keepalived
默认路径 :/etc/keepalived

检测监控 redis_backup.sh,redis_check.sh,redis_fault.sh redis_master.sh,redis_stop.sh脚本默认 /etc/keepalived/script

实现VIP 地址检测漂移;VRRP 组播地址是必须要通信的 ;

iptables 设置添加 需要开放的端口和地址
224.0.0.18 是vrrp组播地址 ;
iptables -A INPUT -d 224.0.0.18 -j ACCEPT

Master - redis  主节点1  keepalived.conf  配置:

global_defs {
router_id redis1
}
vrrp_script chk_redis
{
script "/etc/keepalived/scripts/redis_check.sh 127.0.0.1 6379"
interval
timeout
fall
} vrrp_instance redis {
state MASTER
interface bond0
virtual_router_id
priority
nopreempt # no seize,must add
advert_int
authentication { #all node must same
auth_type PASS
auth_pass
} virtual_ipaddress {
1.2.3.4/
}
track_script {
chk_redis
} notify_master "/etc/keepalived/scripts/redis_master.sh 127.0.0.1 1.2.3.1 6379"
notify_backup "/etc/keepalived/scripts/redis_backup.sh 127.0.0.1 1.2.3.1 6379"
notify_fault /etc/keepalived/scripts/redis_fault.sh
notify_stop /etc/keepalived/scripts/redis_stop.sh
}

Salve - redis  主节点2  keepalived.conf  配置:

 global_defs {
router_id redis101
} vrrp_script chk_redis
{
script "/etc/keepalived/scripts/redis_check.sh 127.0.0.1 6379"
interval
timeout
fall
} vrrp_instance redis {
state BACKUP
interface bond0
virtual_router_id
priority
advert_int
authentication { #all node must same
auth_type PASS
auth_pass
} virtual_ipaddress {
1.2.3.4/
} track_script {
chk_redis
} notify_master "/etc/keepalived/scripts/redis_master.sh 127.0.0.1 1.2.3.2 6379"
notify_backup "/etc/keepalived/scripts/redis_backup.sh 127.0.0.1 1.2.3.2 6379"
notify_fault /etc/keepalived/scripts/redis_fault.sh
notify_stop /etc/keepalived/scripts/redis_stop.sh
}  

VIP 检测 漂移

redis 备份脚本:

# redis_backup.sh

#!/bin/bash
REDISCLI="/usr/local/redis/src/redis-cli -h $1 -p $3"
LOGFILE="/etc/keepalived/log/keepalived-redis-state.log"
echo "[backup]" >> $LOGFILE
date >> $LOGFILE
echo "Run SLAVEOF cmd ..." >> $LOGFILE
$REDISCLI SLAVEOF $ $ >> $LOGFILE >&
# echo "Being slave...." >> $LOGFILE >&
sleep
#delay s wait data sync exchange role

-----

Redis 检测脚本 :

# redis_check.sh

#!/bin/bash
ALIVE=`/usr/local/redis/src/redis-cli -h $ -p $ PING`
LOGFILE="/etc/keepalived/log/keepalived-redis-check.log"
echo "[CHECK]" >> $LOGFILE
date >> $LOGFILE if [ $ALIVE == "PONG" ]; then :
echo "Success: redis-cli -h $1 -p $2 PING $ALIVE" >> $LOGFILE >&
exit
else
echo "Failed:redis-cli -h $1 -p $2 PING $ALIVE " >> $LOGFILE >&
exit
fi

-----

redis 故障判断脚本:

# redis_fault.sh

#!/bin/bash
LOGFILE=/etc/keepalived/log/keepalived-redis-state.log
echo "[fault]" >> $LOGFILE
date >> $LOGFILE

-----

redis 主节点检测脚本:

# redis_master.sh

#!/bin/bash
REDISCLI="/usr/local/redis/src/redis-cli -h $1 -p $3"
LOGFILE="/etc/keepalived/log/keepalived-redis-state.log"
echo "[master]" >> $LOGFILE
date >> $LOGFILE
echo "Being master...." >> $LOGFILE >&
echo "Run MASTER cmd ..." >> $LOGFILE >&
$REDISCLI SLAVEOF $ $ >> $LOGFILE
sleep
#delay s wait data async cancel sync echo "Run SLAVEOF NO ONE cmd ..." >> $LOGFILE
$REDISCLI SLAVEOF NO ONE >> $LOGFILE >&

  -----

redis 检测停止脚本:

# redis_stop.sh

#!/bin/bash
LOGFILE=/etc/keepalived/log/keepalived-redis-state.log
echo "[stop]" >> $LOGFILE
date >> $LOGFILE

Redis 主从 keepalived高可用 实现 VIP 自动漂移的更多相关文章

  1. Redis+Keepalived高可用方案详细分析

    背景 目前,Redis集群的官方方案还处在开发测试中,未集成到稳定版中.且目前官方开发中的Redis Cluster提供的功能尚不完善(可参考官方网站或http://www.redisdoc.com/ ...

  2. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  3. (转)基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

    转载自:http://warm-breeze.iteye.com/blog/2020413 本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedi ...

  4. 基于Redis Sentinel的Redis集群(主从Sharding)高可用方案(转)

    本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在 ...

  5. LVS+Keepalived 高可用环境部署记录(主主和主从模式)

    之前的文章介绍了LVS负载均衡-基础知识梳理, 下面记录下LVS+Keepalived高可用环境部署梳理(主主和主从模式)的操作流程: 一.LVS+Keepalived主从热备的高可用环境部署 1)环 ...

  6. 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

    本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在 ...

  7. Nginx+keepalived 高可用双机热备(主从模式/双主模式)

    基础介绍负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行. 关于负载均衡介绍,可以参考:li ...

  8. Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...

  9. nginx keepalived 高可用方案(转)

    转自: https://www.cnblogs.com/leeSmall/p/9356535.html 一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含 ...

随机推荐

  1. DTD举例二

    DTD举例二: <!--hbase语句库约束文件--> <!DOCTYPE hbaseGroup [ <!ELEMENT hbaseGroup (statements*)> ...

  2. pinv

    moore-penrose pseudoinverse of matrix伪逆

  3. Python爬虫:HTTP协议、Requests库

    HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...

  4. py3+requests+re+urllib,爬取并下载不得姐视频

    实现原理及思路请参考我的另外几篇爬虫实践博客 py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/UncleYong/p/6892688. ...

  5. NOIp2017D2T2(luogu3959) 宝藏 (状压dp)

    时隔多年终于把这道题锅过了 数据范围显然用搜索剪枝状压dp. 可以记还有哪些点没到(或者已到了哪些点).我们最深已到的是哪些点.这些点的深度是多少,然后一层一层地往下推. 但其实是没必要记最深的那一层 ...

  6. Qt程序ibus输入法不跟随

    在Qt程序中ibus框架的输入法无法跟随光标所在的位置,会出现如图所示的效果. 解决方法 安装qt4-qtconfig和ibus-qt4. 运行qtconfig,在界面-XIM输入风格中,选择光标跟随 ...

  7. CrossFire Round #481 div.3 978 打后感

    虚拟赛,头一次打div.3感觉好TM水啊...... 一共7道题,我A了6道,第7题有思路但是没时间了. 结果还是排在700多名,可能其他人也觉得太水了吧. 逐一解析题目: A好简单,因为不想离散化我 ...

  8. Redis我想入门——数据类型

    每一个数据库都有自己的数据类型.同样子redis为我们提供了五种类型的数据——字符串.哈希.列表.集合.有序集合.我们知道关系型数据的数据存放型式是一张二维表.用行和列来表示数据之间的关系.redis ...

  9. Java: |(或运算) 与 多选判断

    今天需要在程序中做一个多选判断,突然想起以前经常遇到的 x |= y | z; 这样的,我也明白这个是多选的用意,但为什么能达到我们希望的多选操作,我还真的没去研究过. 今天早上,百度了一下,搜索到了 ...

  10. Mysq中的流程控制语句的用法

    这篇博客主要是总结一下Mysq中的流程控制语句的用法,主要是:CASE,IF,IFNULL,NULLIF 1.case CASE value WHEN [compare-value] THEN res ...