问题标签 [redis-sentinel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7413 浏览

redis - Redis 哨兵在与主/从相同的服务器中?

我一直在阅读有关如何使用 Redis Sentinel 的文章,并且我知道可能有 2 个或更多的哨兵,并在从客户端调用时在它们之间进行负载平衡。

将这 2 个哨兵与我的主服务器 + 从服务器放在同一台服务器上是一种好习惯吗?换句话说,有 1 个哨兵作为主服务器在同一物理服务器中,而另一个哨兵作为从服务器在同一物理服务器中?

在我看来,如果主服务器死了,从服务器中的哨兵只会将从服务器提升为主服务器。如果从服务器死了,没关系,因为主服务器还在。

我错过了什么吗?有什么缺点?

我宁愿让哨兵与主/从位于同一物理服务器中以减少延迟。

0 投票
1 回答
351 浏览

redis - Redis 2.8 中是否内置了自动故障转移?

我计划将 Redis 作为会话和缓存存储添加到我们的应用程序中。我一直在研究如何在本地托管解决方案上使 Redis 高度可用。

标准方法似乎是将 Redis 设置为 3 节点副本,并使用 Sentinel 进行监控和自动故障转移。

Redis 2.8 引入了 Redis 集群。这是否意味着它带来了自动故障转移等,我们不再需要使用 Sentinel?

0 投票
0 回答
594 浏览

redis - 有没有办法用 JedisCluster 实现 Redis 节点的 Autofailover 和自动发现?

我为 Redis 使用 Jedis Java 客户端,它很棒。我分别使用了集群(JedisCluster)和高可用性(JedisSentinelPool)的特性。

两种实现都像单独的魅力一样工作,但它似乎不是一种同时使用两者的方法。

我希望在主设备发生故障时(如哨兵那样)在故障转移和自动发现其他主设备时具有自动从属升级的高可用性。我知道 Redis-cluster 会自动进行故障转移,并且它还提供某种拓扑的自动发现。但似乎 Jedis-Cluster 并没有提供任何方式来处理自动故障转移并充分利用 Jedis 集群。

JedisClient 有没有办法实现自动故障转移?

我可以同时使用 JedisSentinel 和 JedisCluster 吗?

一些帖子表明这是不可能的:https ://groups.google.com/forum/#!topic/jedis_redis/HtDblX771bs

关于这个主题的 Jedis git 文档是有限的。

0 投票
1 回答
1425 浏览

redis - Openshift 上的 Redis 主故障转移

我已经安装了http://rediscart-claytondev.rhcloud.com/build/manifest/redis-2.8墨盒并将其缩放到 3 个齿轮。每个REDIS_SENTINEL_QUORUM都设置为 2。在我更改了~/redis/bin/controlfrom 后,哨兵启动正常:

至:

现在,重新启动墨盒后,它看起来没问题,直到我杀死主人。奴隶们只是坐在那里数秒,因为他们最后一次看到它......他们的(其中一个)日志说:

更新:

根据要求,包括配置(删除所有评论):

REDIS 54edcc79ca2895e4a300021f

REDIS 54edac2cca2895e4a30001cd

REDIS 54edac43ca2895e4a30001e5

哨兵 54edcc79ca2895e4a300021f

哨兵 54edac2cca2895e4a30001cd

哨兵 54edac43ca2895e4a30001e5

0 投票
1 回答
1627 浏览

redis - redis sentinel 与集群中的服务器不同步

我们有一个包含许多 redis (2.8) 服务器(比如说 4 个)和尽可能多的 redis 哨兵的设置。在每台机器启动时,我们通过命令行将预选机器设置为主机,其余机器设置为从机。哨兵都监视着这些机器。客户端首先连接到本地哨兵并检索主服务器的 IP 地址,然后在那里连接。

这种设置大部分时间都没有问题,但有时哨兵与服务器不同步。如果我将机器命名为 A、B、C 和 D - 哨兵会认为 B 是主服务器,而 redis 服务器都连接到 A 作为主服务器。关闭 B 上的 redis 服务器也无济于事。我不得不将其关闭并在 A 上手动“Sentinel 故障转移”来解决问题。问题是 1. 是什么原因导致这种情况发生,解决这个问题的最简单和最快的方法是什么?2. 什么是最好的配置——还有比这更好的吗?

0 投票
1 回答
953 浏览

caching - 之前死掉的redis-master再次上线时如何禁用sentinel auto-slaveof

有网络分区时我有一个关于redis sentinel的问题

我在server01上启动了一个redis服务器作为master,在server02上启动了一个服务器作为slave,另一台服务器上有一个redis哨兵,我设置了一个脚本让客户端在故障转移时指向新的master。</p>

然后在server01上发生了一个分区,隔离了master,所以sentinel在server02上启动了故障转移,server02的slave成为了新的master。现在所有的客户都在使用新的主人,这没关系。

然而,当分区恢复时,哨兵将发送slaveof给旧主。然后老master会删除所有数据并与新master同步,即使新master和旧master之间没有什么区别。当有多个主从组时,sync命令会占用我生产环境中的所有带宽。

那么如何禁用自动slaveof呢?有更好的主意吗?

0 投票
1 回答
354 浏览

redis - 如何将 Redis sentinel 添加到我已经存在的主从 Redis 中?

这是我的情况:我有一个现有的主从 Redis 架构(2 个不同的服务器)。

我想添加 Redis sentinel 以便能够使用自动故障转移,但我不希望生产中有任何停机时间。由于哨兵需要知道主人,但我需要重新启动 Redis 才能启动哨兵(从而切换主从),我怎样才能在不停机的情况下做到这一点?

0 投票
1 回答
2669 浏览

ruby-on-rails - Rails、Redis 和 Sentinel

我有一个由 Sentinel 监控的 4 个节点、1 个主节点和 3 个从节点的 Redis 集群。

现在在 Rails 中,我需要连接到这个集群,从最近的副本读取,并写入主服务器,就像我使用 MongoDB 所做的一样。

使用redis-railsgem,如何配置cache_store来指定哨兵而不是单个节点?

0 投票
2 回答
4508 浏览

php - Redis 哨兵实现

我们有一个设置:
2 个 php 服务器
2 个作为主/从运行的 redis 服务器
1 个日志服务器,它将所有类型的日志存储在 elastcisearch

我们想为 redis 服务器实现自动故障转移,现在在 php 服务器 redis 主地址 ir 硬编码。

在日志服务器中,它有一个带有来自 master 的 redis 输入的 logstash 实例,它也在 logstash 配置中进行了编码。

我们已经在两个 redis 服务器上安装了 redis sentinel,它工作正常。

但问题是如何掌握 php 和 logstash 或者这不是正确的方法。

对于 php,我找到了这个客户端包装器https://github.com/Sparkcentral/PSRedis

但是还没有找到任何关于logstash的东西,我怀疑我只是在寻找错误的方向

所以问题是,如果没有人能指出我的方向,这是否是正确的方向。

0 投票
1 回答
1701 浏览

redis - Redis Sentinel - 如何获取配置值?

我想找到正在运行的 Redis 哨兵的最大客户端数。.conf 文件中没有为哨兵设置配置,所以我想找出当前值。

但是,当我通过 redis-cli -p 26379 连接并输入“config get maxclients”时,它告诉我没有这样的命令。但是,如果我连接到实际的 Redis 实例,它就可以工作。

如何获得 redis sentinel 的 maxclients 值?