为什么需要哨兵?

一旦主节点宕机,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所有从节点复制新的主节点
那么这个问题,redis-sentinel就可以解决了

什么是哨兵Redis-Sentinel?
保护redis主从集群正常运转,当redis主库挂掉之后,自动的在从库中挑选新的主库,进行同步.
哨兵会不停的给主库发ping,如果一定时间内主库没回复就认为主库挂了.就自动的在从库中挑选新的主库.
如果有多个哨兵,那么多个哨兵是通过订阅相同的频道来交流的.
可以多个哨兵监控一个主从集群. 哨兵多个,为了防止只有一个哨兵的时候,哨兵也宕机了.
哨兵是redis的一个进程, 哨兵不做存储,只监控redis

多个哨兵监控一个主从集群

主库出现故障的时候, 哨兵选一个从库作为新的主库, 并修改其他从库的新主库

举例:

step1. 开启3个redis服务器, 以不同端口区分

    

step2 准备3个哨兵

哨兵端口默认26379  以端口的不同区分3个哨兵
1.哨兵的配置文件
         port 26379
         dir /var/redis/data/
         logfile "26379.log"

         sentinel monitor youku-master 127.0.0.1 6379 2

         sentinel down-after-milliseconds youku-maste 30000

         sentinel parallel-syncs youku-maste 1

         sentinel failover-timeout youku-maste 180000
         daemonize yes

    

    快速生成其他2个哨兵的配置文件
      sed "s/26379/26380/g" redis-sentinel-26379.conf >  redis-sentinel-26380.conf
      sed "s/26379/26381/g" redis-sentinel-26379.conf >  redis-sentinel-26381.conf 

    

2.启动三个哨兵

    

3.查看哨兵 自动发现redis主从节点

    

4.查看哨兵的状态

    

step3 测试哨兵功能  杀掉主库6379  查看哪一个从库变成了主库

  主库宕机后 哨兵选择一个从库变为主库 原理是哨兵修改redis服务器的配置文件的slaveof  从而改变主从关系

    

Redis-Sentinel 哨兵的更多相关文章

  1. Redis Sentinel哨兵配置

    概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都 ...

  2. Redis的主从复制与Redis Sentinel哨兵机制

    1    Redis的主从复制 1.1   什么是主从复制 持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损 ...

  3. Redis Sentinel哨兵集群

    Redis Sentinel(哨兵集群)是一种高可用的redis部署方案.在集群中的redis-master服务挂掉时,无需人为干预,即可通过哨兵集群的自我调整,实现redis服务的持续可用. 哨兵集 ...

  4. Redis sentinel 哨兵模式集群方案配置

    第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2) ...

  5. Redis sentinel 哨兵模式

    一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Maste ...

  6. Redis:Sentinel哨兵

    简介 Sentinel的作用就是主从切换:Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,R ...

  7. 【Redis】Redis Sentinel 哨兵模式搭建

    Redis Sentinel介绍 Redis Sentinel是Redis的官方高可用性解决方案 Redis Sentinel为Redis提供高可用性.实际上,这意味着使用Sentinel可以创建一个 ...

  8. Redis 5 配置 Redis sentinel(哨兵模式)

    先了解一下哨兵都 做了什么工作:Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: * 监控(Monitoring): Sentin ...

  9. redis sentinel哨兵模式集群搭建教程

    1.环境说明 我们将使用192.168.220.128.192.168.220.129两台机器搭建sentinel交叉主从为例 当前我们已在192.168.220.128上按redis安装教程安装了r ...

  10. redis sentinel哨兵的使用

    哨兵模式是Redis集群管理的一种方式. 下面以Go语言为例介绍其使用方式. 使用举例 package main import ( "fmt" "strings" ...

随机推荐

  1. 查询设备的IP地址/掩码/MAC/网关

    import commands, sys import platform from _utils.patrol2 import run_cmd, data_format, report_format ...

  2. 遇到一个json解码失败的问题

    今日批量导入游戏, 从别人接口拉去的字符串json_decode总是失败, 但是把log里面记录的解码失败的字符串copy出来单独解析,却可以成功. 排除了是字符编码的问题后, 还是不行, 百思不得其 ...

  3. Sublime Text 3安装Package Control快速建立html5和xhtml文档

    Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...

  4. https openssl http2

    2018-3-21 10:27:45 星期三 参考: 对https, http2的解释 总结: 生成自有证书(非第三方证书颁发公司) 我使用的是gitbash工具, 命令为: $ openssl re ...

  5. php OpenSSL 加解密

    2018-1-6 17:10:19 星期六 $data = '123456'; $openssl_method = 'AES-256-CBC'; $openssl_iv_length = openss ...

  6. Java替换中使用正则表达式实现中间模糊匹配

    使用“.+?”实现中间模糊匹配的代码: public class Test { public static void main(String[] args) { String str="总会 ...

  7. selenium之css定位小结

    前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...

  8. tornado的异步效果

    第一种方式: import tornado.ioloop import tornado.web from tornado import gen from tornado.concurrent impo ...

  9. Android下利用zbar类库实现扫一扫

    程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zbardemo.zip Android下常用的条码扫描类库有zxing和zbar,比较了一下 ...

  10. Centos查看端口占用和开启端口命令

    Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 1.开启端口(以80端口为例) 方法一: /sbin/ ...