Sentinel的目的:监视主从服务器,并在主服务器下线时自动进行故障转移

启动Sentinel

通过执行Redis安装文件中的redis-sentinel程序,可以启动一个Sentinel实例:

redis-sentinel sentinel.conf

因为Redis的Sentinel实际上就是一个运行在Sentinel模式下的Redis服务器,所以我们同样可以使用以下命令来启动一个Sentinel实例

redis-server sentinel.conf --sentinel

启动Sentinel时需要指定配置文件,该文件记录了要监视的主服务器,以及相关的配置参数。

使用Sentinel监视主从服务器以及它的从服务器

每个Sentinel实例可以监视任意多个主服务器,以及被监视的主服务器属下的所有从服务器。

Sentinel网络

多个Sentinel实例可以监视同一个主服务器,监视相同主服务器的这些Sentinel会自动地相互连接,组成一个分布式的Sentinel网络,互相通信并交换彼此关于被监视服务器的信息。

服务器下线判断

当一个Sentinel认为被监视服务器已经下线时,它会向网络中的其他Sentinel进行确认,判断该服务器是否真的已经下线;

如果下线的服务器为主服务器,那么Sentinel网络将对下线主服务器进行自动故障转移:通过将下线主服务器的某个从服务器提升为新的服务器,并让其他从服务器转为复制新的主服务器,并以此来让系统重新回到上线状态。

自动故障转移

下线主服务器重新上线

Sentinel的配置

监视配置选项

Sentinel在启动时必须指定相应的配置文件:

redis-sentinel sentinel.conf

一个Sentinel配置文件至少要包含一个监视配置选项,用户指定被监视主服务器的相关信息

sentinel monitor <name> <ip> <port> <quorum>

name:用户为被监视主服务器设置的名字;

ip:被监视主服务器的ip;

port:被监视主服务器的port;

quorum:为确认这个主服务器已下线所需要的最少Sentinel数量;

举个栗子:配置sentinel monitor hadoop000 127.0.0.1 6379 2

表示要监视的主服务器的名字为hadoop000,它的ip地址是127.0.0.1,端口号为6379,而确认这个服务器已下线最少需要两个Sentinel同意;

Sentinel可以自动发现并监视主服务器属下的所有从服务器,所以用户只需要给出主服务器的地址和端口号即可。

端口配置选项

如果要在同一台机器上运行多个Sentinel实例,用户还需要通过port number选项来为每个sentinel设置不同的端口号,如果不进行设置,Sentinel默认端口号为26379;

举个栗子:

如果要在同一台机器上运行两个Sentinel实例,用户可以通过载入以下两个配置文件来分别将两个Sentinel实例的端口号设置为26379和26380:

# sentinel1.conf
port
sentinel monitor … # sentinel2.conf
port
sentinel monitor …

Sentinel配置实例

执行如下两条命令,将创建2个监视主服务器S1的sentinel实例:

$ redis-sentinel sentinel1.conf
$ redis-sentinel sentinel2.conf

其中sentinel1.conf的内容为:

port
sentinel monitor s1 127.0.0.1

而sentinel2.conf的内容为:

port
sentinel monitor s1 127.0.0.1

Redis多机功能之Sentinel的更多相关文章

  1. Redis多机功能介绍

    Redis多机功能目的:以单台Redis服务器过渡到多台Redis服务器 Redis单机在生产环境中存在的问题 1.内存容量不足 Redis使用内存来存书数据库中的数据,但是对于一台机器来说,硬件的内 ...

  2. Redis多机功能之复制

    复制的目的:创建具有相同数据库的拷贝服务器:扩展系统处理读请求的能力: 复制的定义 Redis的复制(replication)功能允许用户根据一个Redis服务器来创建任意多个该服务器的复制品,其中被 ...

  3. Redis多机功能总结

    1.通过Redis的复制功能,用户可以创建指定服务器的任意多个复制品,每个复制品服务器和被复制的原服务器拥有相同的数据: 2.通过将读请求分散给多个从服务器处理,用户可以减少主服务器在处理读请求方面的 ...

  4. Redis多机常用架构-sentinel

    哨兵经典架构 sentinel结构 哨兵工作原理 Sentinel 通过配置文件发现Master,如下: Sentinel 通过向Master发送 INFO 命令来自动获得所有Slave的地址 跟Ma ...

  5. Redis的各项功能解决了哪些问题?

    先看一下Redis是一个什么东西.官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用.同时支持string ...

  6. Redis宕机的问题

    在主从模式下宕机要分为区分来看: slave从redis宕机 ​ 在Redis中从库重新启动后会自动加入到主从架构中,自动完成同步数据: ​ 如果从数据库实现了持久化,只要重新假如到主从架构中会实现增 ...

  7. Redis(十五):哨兵Sentinel

    Redis哨兵 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你 ...

  8. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置

    0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...

  9. Redis 复制技术和高可用sentinel(哨兵模式)

    redis的复制技术和高可用(哨兵模式) 1 复制 为什么要复制 实现数据的多副本存储,从而可以实现服务的高可用 提供更好的读性能复制技术的关键点及难点 如何指定被复制对象 增量还是全量以及如何实现增 ...

随机推荐

  1. 概要设计、详细设计(三)关键点(Know-How)、运用技巧

    1.    关键点(Know-How).运用技巧 4.1 设计准则 制定设计准则是概要设计阶段的最主要.最关键的工作.在实际工作中往往忽略,多数项目牺牲在这个环节.制定设计准则着眼于如何更好的做设计, ...

  2. [mysql] ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

    今天安装mysql遇到这样一个问题: ERROR 1862 (HY000): Your password has expired. To log in you must change it using ...

  3. [算法] 数据结构之AVL树

    1 .基本概念 AVL树的复杂程度真是比二叉搜索树高了整整一个数量级——它的原理并不难弄懂,但要把它用代码实现出来还真的有点费脑筋.下面我们来看看: 1.1  AVL树是什么? AVL树本质上还是一棵 ...

  4. phonegap–app启动欢迎引导页localstorage

    对一个新的app,一般情况都会添加一个介绍和欢迎的页面来告诉用户app的功能和新的特性. 那么在phonegap项目里面如何添加这样个引导欢迎页. 这里需要注意的是只有app第一次打开的时候才会有,其 ...

  5. JABX简单介绍

    主要引至http://suo.iteye.com/blog/1233458 一.简介 1.概念是什么:(Java Architecture for XML Binding) 是一个业界的标准,是一项可 ...

  6. 【linux】输出重定向

    “>”:把正确结果输出到一个文件 [root@andon ~]# ls > 1 [root@andon ~]# cat 1 1 anaconda-ks.cfg install.log in ...

  7. Linux删除包含特殊符号文件名的文件

    今天发现机器上有一文件名为 ~~test 的文件名,欲删除之 ,报错查了下, 发现如下解决方法 假设Linux系统中有一个文件名叫“-test”.如果用户想删除它,按照一般的删除方法在命令行中输入“r ...

  8. working copy locked 问题

    解法 1 :  右键svn-->clean up 解法 2 :  被lock的文件夹进入控制台 del lock /q/s [转载解法] SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够 ...

  9. [JS]深入理解JavaScript系列(4):立即调用的函数表达式

    转自:汤姆大叔的博客 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行.在详细了解这个之前,我们来谈了解一下"自执行"这个叫法 ...

  10. bug_ _ 应用汇==常见错误列表

    应用汇的安装功能是基于安卓系统的adb开发的,adb的安装过程分为传输与安装两步.在出错后,助手会在右下角弹出详细的错误编号及建议. 下面列举出几种常见的错误及解决方法. Q1:无效的安装包,安装包已 ...