Redis Sentinel的配置和使用

标签: 技术 Master Redis Sentinel Slave | 发表时间:2014-06-17 15:41 | 作者:丕子
出处:http://www.zhizhihu.com

使用Jedis的ShardedJedis做Redis集群

Redis主从系统,除了做数据冗余,开可以做高可用性灾备。Reids提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave作为master,将master作为slave。主从切换之后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变。master_redis.conf中会多了一句slaveof的配置,sentinel.conf的监控目标也随之调换,这一点要注意。

如果要监控两个redis实例,可以进行如下配置 sentinel.conf:


port 26379
daemonize yes
logfile "/var/log/redis/sentinel.log"

#master 7000
sentinel monitor master-7000 127.0.0.1 7000 2
sentinel down-after-milliseconds master-7000 30000
sentinel parallel-syncs master-7000 1
sentinel failover-timeout master-7000 180000

#master 7001
sentinel monitor master-7001 127.0.0.1 7001 1
sentinel down-after-milliseconds master-7001 30000
sentinel parallel-syncs master-7001 1
sentinel failover-timeout master-7001 180000

启动:

redis-sentinel sentinel.conf

[43023] 17 Jun 14:49:55.189 # Sentinel runid is 7b2f26a9633b9ec07f76ab6efba7508c235bf75d
[43023] 17 Jun 14:49:55.189 # +monitor master master-7000 1.0.0.1 7000 quorum 1
[43023] 17 Jun 14:49:55.189 # +monitor master master-7001 1.0.0.1 7001 quorum 1
[43023] 17 Jun 14:49:55.190 * +slave slave 1.0.0.2:7000 1.0.0.2 7000 @ master-7000 1.0.0.1 7000
[43023] 17 Jun 14:49:55.191 * +slave slave 1.0.0.2:7001 1.0.0.2 7001 @ master-7001 1.0.0.1 7001
[43023] 17 Jun 14:52:55.815 * +fix-slave-config slave 1.0.0.2:7000 1.0.0.2 7000 @ master-7000 1.0.0.1 7000
[43023] 17 Jun 14:52:55.816 * +fix-slave-config slave 1.0.0.2:7001 1.0.0.2 7001 @ master-7001 1.0.0.1 7001

 

需要注意的几个地方:

1、注意第一行最后一个2,意思是当有两个sentinel实例同时检测到redis异常时,才会有反应。

2、主从切换后,redis.conf、sentinel.conf内容都会改变,主要还想要原来的主从架构,要再修改配置文件;

3、master挂掉,sentinel已经选择了新的master,但是还没有将其改成master,但是已经将old master改成了slave。那么这时候如果重启old master,就会处于无主状态。所以一方面要等sentinel稳定后再启动old master,或者重新人工修改配置文件,重新启动集群。

4、sentinel只是在server端做主从切换,app端要自己开发,例如Jedis库的SentinelJedis,能够监控sentinel的状态。这样才能完整的实现高可用性的主从切换。

您可能也喜欢:

Redis Cluster的安装和配置(beta-6)

Redis集群增删节点的数据迁移问题

使用Jedis的ShardedJedis做Redis集群

Redis在新浪微博中的应用

Jedis sharding
无觅

相关 [redis sentinel] 推荐:

Redis-sentinel实现redis HA 过程

- - CSDN博客架构设计推荐文章
本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. Redis-sentinel 介绍:. Redis-sentinel是官方介绍的监控redis的工具,实际是一个进程,通过tcp socket通信. (1)     监控 实时监测当前master和slave的状态.

Redis Sentinel的配置和使用

- - 丕子
Redis主从系统,除了做数据冗余,开可以做高可用性灾备. Reids提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave作为master,将master作为slave. 主从切换之后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变.

Redis核心解读–集群管理工具(Redis-sentinel)

- - NoSQLFan
Redis作为高性能的key-value存储,一直在单实例上表现良好,但是长期以来一直缺乏一种官方的 高可用方案支持. 于是 Redis-sentinel应运而生,提供了对客户端透明的高可用支持. 下面文章对Redis- sentinel的原理进行了系统的讲解. 文章来源: www.wzxue.com.

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

- - 开源软件 - ITeye博客
本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),Redis集群是以分片(Sharding)加主从的方式搭建,满足可扩展性的要求;.

基于jedis、redis-sentinel的redis主从、高可用、sharding架构

- - 开源软件 - ITeye博客
最近项目上需要对Redis(目前redis用的是2.8版本)做高可用、集群等优化,就扩展了jedis客户端(MasterSlaveJedis、MasterSlaveJedisPool、ShardedMasterSlaveJedis、ShardedMasterSlaveJedisPool),以满足以下几个需求:.

在Redis Sentinel环境下,jedis该如何配置 - iVictor - 博客园

- -
在Redis主从复制架构中,如果master出现了故障,则需要人工将slave提升为master,同时,通知应用侧更新master的地址. 这样方式比较低效,对应用侧影响较大. 为了解决这个问题,Redis 2.8中推出了自己的高可用方案Redis Sentinel. Redis Sentinel架构图如下:.

动手实践Redis主从复制、Sentinel主从切换、Cluster分片

- - 掘金 后端
Redis 提供的如下技术「Redis Sentinel『主从切换』、Redis Cluster『分片』」,有效实现了 Redis 的高可用、高性能、高可伸缩性,本文对以上技术进行亲自动手实践. Redis Sentinel「主从切换」. 监控主从节点的在线状态,并根据配置自行完成切换「基于raft协议」.

限流降级神器-哨兵(sentinel)原理分析

- -
Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性. 大家可能会问:Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异同呢. Sentinel官网有一个对比的文章,这里摘抄一个总结的表格,具体的对比可以点此 链接 查看.

Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

- - 程序猿DD
上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则. Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中. 使用Apollo存储限流规则. Sentinel自身就支持了多种不同的数据源来持久化规则配置,目前包括以下几种方式:.

Sentinel 滑动窗口限流实现解析

- - 掘金 架构
Sentinel 是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性. 2012 年,Sentinel 诞生于阿里巴巴,其主要目标是流量控制. 2013-2017 年,Sentinel 迅速发展,并成为阿里巴巴所有微服务的基本组成部分,涵盖了几乎所有核心电子商务场景.