一、sentinel.conf 

 port 26379
dir /opt/redis-3.0.7/dataSentinel
sentinel monitor mymaster 192.168.1.157 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
daemonize yes

二、配置文件说明

1、port:当前 sentinel 服务运行的端口为 26379

2、dir:Sentinel服务运行时使用的临时文件夹为 /opt/redis-3.0.7/dataSentinel

3、sentinel monitor mymaster 195.168.1.157 6379 2

  1)表示 sentinel 监视一个名为 mymaster 的 redis 主实例,主实例IP地址为 195.168.1.157,端口为 6379

  2)行末尾的“2”用于 sentinel 集群,当集群中有2个 sentinel 认为 master 宕掉时才会认定该 master 不可用

除了上述配置外我们发现接下来的配置项都依据如下格式

  sentinel <option_name> <master_name> <option_value>

4、sentinel down-after-milliseconds mymaster 30000

  1)sentinel 会向 master 发送心跳 PING 来确认 master 是否存活,如果 maste r在“一定时间范围”内不回应 PONG 或者是回复了一个错误消息,那么这个 sentinel 会主观地(单方面地)认为这个 master 已经不可用了( subjectively down , 简称为 SDOWN )而这个 down-after-milliseconds 就是用来指定这个“一定时间范围”的,单位是毫秒

  2)需要注意的是,这个时候 sentinel 并不会马上进行 failover 主备切换,这个 sentinel 还需要参考集群中其他 sentinel 的意见,如果超过某个数量的 sentinel 也主观地认为该 master 死了,那么这个 master 就会被客观地(objectively down,简称为 ODOWN)认为已经死了,需要一起做出决定的 sentinel 数量在上一条配置中进行配置

5、sentinel parallel-syncs mymaster 1

  1)在发生failover主备切换时,这个选项指定了最多可以有多少个 slave 同时对新的 master 进行同步,这个数字越小,完成 failover 所需的时间就越长,但是如果这个数字越大,就意味着越多的 slave 因为 replication 而不可用。可以通过将这个值设为 1 来保证每次只有一个slave处于不能处理命令请求的状态。

6、sentinel failover-timeout mymaster 180000

  1)如果在该时间(毫秒)内未能完成failover操作,则认为该failover失败

7、daemonize yes

  1)后台运行

三、部署及运行

1、将 sentinel.conf 拷贝到各主从节点的 redis 目录下,我的在 /opt/redis-3.0.7

2、进入 /opt/redis-3.0.7/src 执行 ./redis-sentinel /opt/redis-3.0.7/sentinel.conf 启动(启动的前提是各redis主从节点均已正常启动)

四、验证

主节点:192.168.1.157

从节点:192.168.1.158、192.168.1.159

1、master 节点

  1)info

  

  2)sentinel.conf

  

2、slave节点(截图时主节点已经通过 sentinel 转换为158,正常情况图中 master 地址应为192.168.1.157)

  1)info

  

  2)sentinel.conf

  

五、总结

  在编辑验证部分前已经通过对157虚拟机掉电测试,158成功被转换成master角色。

  关闭 sentinel 可执行 ./redis-cli -p 26379 shutdown

  

Sentinel配置及部署的更多相关文章

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

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

  2. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  3. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  4. Redis 安装,主从配置及Sentinel配置自动Failover

    1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 tar -zxvf redis-stable.tar.g ...

  5. SSD Cloud Hosting - Linode的配置和部署,搭建Java环境

    0.发牢骚 前一个月在淘宝购买了个Jsp空间,挺便宜的,才38元/年.部署了程序,然后ALIMAMA验证网站,一直提示验证失败.最后找卖家,他说可能是因为空间太慢,照他的推荐换了最好的空间,138元/ ...

  6. jetty之安装,配置,部署,运行

    上篇文章中详解了关于什么是jetty,后续文章主要是介绍jetty的使用.本章介绍jetty环境的配置及部署war包. 1. 安装 1. 先下载一个jetty的压缩包,下载地址:http://www. ...

  7. JBOSS EAP6.2.0的下载安装、环境变量配置以及部署

    JBOSS EAP6.2.0的下载安装.环境变量配置以及部署 JBoss是纯Java的EJB(企业JavaBean)server. 第一步:下载安装 1.进入官网http://www.jboss.or ...

  8. jrebel配置热部署参数

    jrebel配置热部署参数: -noverify -agentpath:D:/jrebel/lib/jrebel64.dll -Drebel.dirs=E:/workspace/item/src/ma ...

  9. Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)

    Jenkins-在windows上配置自动化部署(Jenkins+Gitblit) 1. 安装好 Jenkins(注:安装目录需没有空格,否则安装gitlab hook 插件时会报错,安装在c盘跟目录 ...

随机推荐

  1. Thinkphp3.2.X自动生成应用目录

    从3.2.2版本开始,可以支持自动生成默认模块之外的模块目录以及批量生成控制器和模型类. 例如,如果我们需要生成一个Admin模块用于后台应用,在应用入口文件中定义如下: // 绑定Admin模块到当 ...

  2. 第2章—装配Bean—通过java代码装配bean

    通过java代码装配bean ​ 在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式. 2.3.1创建配置类 先复习下上一章的配置内容: @Configurati ...

  3. 由UI刷新谈到线程安全和Android单线程模型

    1.为什么说invalidate()不能直接在线程中调用? Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在非UI主线程中调用,因为他是违背了单线程模型:A ...

  4. Bug解决方案:org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 8; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标

    十月 17, 2016 10:14:30 下午 org.springframework.context.support.AbstractApplicationContext prepareRefres ...

  5. Hadoop Hive概念学习系列之hive三种方式区别和搭建、HiveServer2环境搭建、HWI环境搭建和beeline环境搭建(五)

     说在前面的话 以下三种情况,最好是在3台集群里做,比如,master.slave1.slave2的master和slave1都安装了hive,将master作为服务端,将slave1作为服务端. 以 ...

  6. package-info类解读

    类不能带有public.private访问权限.package-info.java再怎么特殊,也是一个类文件,也会被编译成package-info.class,但是在package-info.java ...

  7. springboot-2-ioc

    在spring环境下, ioc(控制反转 和 DI (依赖注入) 是等效的, 主要体现一种组合的松耦合思想. spring Ioc容器负责创建Bean, 并将Bean注入到所需的Bean中, 有xml ...

  8. PHP将字符串写入txt文件

    function writelog($str) { $open=fopen("e:\log.txt","a" ); fwrite($open,$str); fc ...

  9. Golang聊天室

    一.前期准备 前期准备 需要 import "net"包 IP 类型,其中一个重要的方法是 IP.ParseIP(ipaddr string)来判断是否是合法的 IP 地址 TCP ...

  10. java常见异常(转载)

    版权声明: https://blog.csdn.net/qq_32595075/article/details/80059834 一般面试中java Exception(runtimeExceptio ...