我把redis配置成主人,有两个奴隶,每个都在一个单独的盒子上。我还在每个盒子上运行一个哨兵进程。这是文档中描述的设置:
http://redis.io/topics/sentinel#example-2-basic-setup-with-three-boxes
每个哨兵都可以连接到我的主人,并能看到奴隶。他们能够独立地发现主人或奴隶是否倒下。问题是哨兵不能互相察觉。
我已经验证了每个哨兵都像预期的那样向__sentinel__:hello频道发布了一条消息,但是他们似乎都没有真正接收到来自其他通道的消息。
我怎么才能让哨兵们见面?
发布于 2016-06-25 23:39:45
在配置哨兵时,我配置了一次哨兵,然后将该配置文件复制到所有其他配置文件上。
在复制配置之前,我必须启动哨兵,它用id重写配置文件,如下所示:
sentinel myid c766a0df56e72eda48cea984当我将文件复制到其他哨兵时,它会导致每个哨兵都有相同的id,这反过来又会导致他们忽略来自自动发现的任何具有相同id的消息。从每个配置文件中删除myid行并重新启动每个哨兵进程,修复了问题。
发布于 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命令解决了问题。
https://stackoverflow.com/questions/38033911
复制相似问题