首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红星哨兵不会自动发现其他哨兵

红星哨兵不会自动发现其他哨兵
EN

Stack Overflow用户
提问于 2016-06-25 23:39:45
回答 2查看 7.2K关注 0票数 8

我把redis配置成主人,有两个奴隶,每个都在一个单独的盒子上。我还在每个盒子上运行一个哨兵进程。这是文档中描述的设置:

http://redis.io/topics/sentinel#example-2-basic-setup-with-three-boxes

每个哨兵都可以连接到我的主人,并能看到奴隶。他们能够独立地发现主人或奴隶是否倒下。问题是哨兵不能互相察觉。

我已经验证了每个哨兵都像预期的那样向__sentinel__:hello频道发布了一条消息,但是他们似乎都没有真正接收到来自其他通道的消息。

我怎么才能让哨兵们见面?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-25 23:39:45

在配置哨兵时,我配置了一次哨兵,然后将该配置文件复制到所有其他配置文件上。

在复制配置之前,我必须启动哨兵,它用id重写配置文件,如下所示:

代码语言:javascript
复制
sentinel myid c766a0df56e72eda48cea984

当我将文件复制到其他哨兵时,它会导致每个哨兵都有相同的id,这反过来又会导致他们忽略来自自动发现的任何具有相同id的消息。从每个配置文件中删除myid行并重新启动每个哨兵进程,修复了问题。

票数 20
EN

Stack Overflow用户

发布于 2020-04-15 21:54:12

在所有redis-sentinel.conf文件中拥有相同的myid是一个问题,但即使我的is不同,我仍然有这个问题(在哨兵主mymaster结果中显示"“)

我的问题源于这样一个事实:我的哨兵方式既与本地主机(127.0.0.1)和私有(或公共) IP绑定。

我相信发现的IP为127.0.0.1 (因为它是配置中的第一个),因此对于接收消息的其他哨兵来说,这意味着其他哨兵与其自身相同(尽管它有一个不同的myid)。

医生说:

在向主服务器添加新的哨兵之前,哨兵总是检查是否已经存在具有相同地址(ip和端口对)的哨兵。在这种情况下,所有匹配的哨兵都被移除,新的添加。

sentinel announce-ip <ip>设置为127.0.0.1或移除bind命令解决了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38033911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档