redis哨兵机制:redis的哨兵系统用于管理多个reids服务器,该系统主要有三个作用:

  1. 监控:哨兵 会不断地检查你的主服务(Master)和从服务器(Slave)是否运作正常。
  2. 提醒:当被监控的某个 Redis出现问题时, 哨兵 可以通过 API 向管理员或者其他应用程序发送通知。
  3. 从新选举主服务器:当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。

一直觉得画图 画的贼丑,不过画图能帮助自己 更好的理解:
  

redis 要想实现高可用,则 必须要有哨兵机制,这样才能保证 redis集群中主服务器宕机以后 可以继续使用(如果主服务器宕机,不能有新的主服务器,则 其余的服务器只能读,不能写)

要利用到redis的哨兵机制,则需要有多个redis,那不可避免想到到主从复制,在https://www.cnblogs.com/920913cheng/p/10413009.html 中已经记录了如何 搭建redis的主从复制了,所以在以上的基础上,开始 哨兵机制的搭建

准备三台虚拟机

192.168.31.170(主)

192.168.31.202(从)

192.168.31.180(从)

开启所有虚拟机的防火墙

redis哨兵机制属于redis提供的一个功能,redis服务器 启动不启动 和哨兵机制是否正常运行没有任何关系,可以从redis的端口:6379  而哨兵机制默认的端口是:26379 可以看出 他们是两个不同的程序,此处测试的是单个哨兵机制:

从192.168.31.202(从) 或者192.168.31.180(从)选取一台机器 作为 哨兵机制的启动服务器:这里我选择的是192.168.31.202 作为哨兵机制的服务器:

1.将192.168.31.202中 redis下面的 sentinel.conf 文件复制到 cp sentinel.conf /usr/local/redis/etc

2.vi /usr/local/redis/etc/sentinel.conf 修改 sentinel.conf文件

修改的地方:

sentinel monitor mymast  192.168.31.170 6379 1  #主节点 名称 IP 端口号 选举次数

sentinel down-after-milliseconds mymaster 3000 心跳检测

3.启动哨兵模式:

./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

4 关闭主服务器以后 ,在192.168.31.202 里可以看到 主服务关闭,然后 连接redis客户端,通过info命令 可以看到 202服务器 已经成了 master了,

此时202 已经具备了 读写权限。

5:流程-准备三台机器 1,2,3

1号服务器当做主服务器,2.3号为从服务器

2 把2号服务器当成哨兵机制的运行服务器,修改 2号服务器里面的sentinel.conf 文件,配置 主服务器的ip 端口 和选举次数,以及 主服务reids的密码

3 在2号服务器上启动哨兵机制,启动成功以后,可以通过连接redis客户端 info查看到 2号服务器此时角色 是slave

4 关闭1号服务器,在2号服务器或者3号服务器 通过info 可以查看到 自己可能已经成为了master

5 当1号服务器重新启动以后,当前的master 也不会是 1号

6 遇到 主服务器 关闭以后,不能切换从服务器作为master 防火墙,配置文件 是不是少了

redis高可用(哨兵机制)的更多相关文章

  1. 9.Redis高可用-哨兵

    9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...

  2. Redis高可用——副本机制

    目录 概念 配置 同步方式 起点 主从握手 部分同步 完全同步 执行完全同步判断条件 完全同步代码实现 为实现Redis服务的高可用,Redis官方为我们提供了副本机制(或称主从复制)和哨兵机制.副本 ...

  3. 3台服务器Redis高可用哨兵模式实现(转)

    http://www.linuxidc.com/Linux/2017-05/143521.htm

  4. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  5. Redis高可用(持久化、主从复制、哨兵、集群)

    Redis高可用(持久化.主从复制.哨兵.集群) 目录 Redis高可用(持久化.主从复制.哨兵.集群) 一.Redis高可用 1. Redis高可用概述 2. Redis高可用策略 二.Redis持 ...

  6. Redis高可用之哨兵模式Sentinel配置与启动(五)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  7. Redis 高可用之哨兵模式

    参考   : https://mp.weixin.qq.com/s/Z-PyNgiqYrm0ZYg0r6MVeQ 一.redis高可用解决方案 redis主从 优点:1.高可靠性,主从实时备份,有效解 ...

  8. 三分钟带你入门 redis 高可用架构之哨兵

    什么是哨兵? 哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时 ...

  9. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  10. Redis高可用方案-哨兵与集群

    Redis高可用方案 一.名词解释   二.主从复制 Redis主从复制模式可以将主节点的数据同步给从节点,从而保障当主节点不可达的情况下,从节点可以作为 后备顶上来,并且可以保障数据尽量不丢失(主从 ...

随机推荐

  1. Matlab:椭圆方程的导数边值问题

    tic; clear clc N=; M=*N; h1=/M; h2=/N; x=:h1:; y=:h2:; fun=inline('exp(x)*sin(pi*y)','x','y'); f=inl ...

  2. 修改Anaconda3中jupyter的工作目录

    1.打开Anaconda Prompt,运行jupyter notebook --generate-config 2.找到当前用户下的.jupter文件夹,打开jupyter_notebook_con ...

  3. CSRF理解与防御

    一.说明 记得以前去面试技术也不太会但你总得讲点东西,让面试时间长一些让面试官觉得你基础还可以,当时选的就是名头比较大的OWASP TOP 10.TOP 10嘛你总得拿出至少三个点来讲的细一些以证明你 ...

  4. SQL DELETE 语句详解

    SQL DELETE 语句详解   DELETE 语句 DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName Fir ...

  5. Android 音视频深入 十五 FFmpeg 推流mp4文件(附源码下载)

    源码地址https://github.com/979451341/Rtmp 1.配置RTMP服务器 这个我不多说贴两个博客分别是在mac和windows环境上的,大家跟着弄 MAC搭建RTMP服务器h ...

  6. 兼容性 memo

    一.async 与 defer <script src="js/require.js" defer async="true" ></scrip ...

  7. 为Linux技术学习推荐看的书籍—《Linux就该这么学》

    成长,是一种经历:经历,是一种人生的体验.人生的意义不在于我们拥有了什么,而在于从中我们体悟了什么.在这短短的三年,却在我的人生中弥足珍贵,在脑海中记忆犹新,在这大学三年里,我从一个莽撞少年成长为一名 ...

  8. C#mvc下拉框绑定

    控制器 ViewData["select1"] = new SelectList(b.bd(),"names","names"); 视图 @ ...

  9. JavaWeb基础-过滤器监听器

    过滤器 1定义:过滤器是一个服务器的组件,他可以截取用户端的请求与响应信息,并对这些信息进行过滤;过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 2过滤器的工作原理: 3过滤器 ...

  10. Problem D: 类的初体验(IV)

    Description 定义一个类Data,只有一个int类型的属性和如下方法: 1.   缺省构造函数,将属性初始化为0,并输出"Data's default constructor.&q ...