Tar*_*run 4 linux redis redis-sentinel redis-server
我在不同服务器上部署了Sentinel-3 redis实例,每个服务器上都有3个标记.
现在,我意识到当前的master没有太多内存,所以我在这个特定的服务器上停止了sentinel和redis实例.并在新机器上进行相同的设置.所以,我仍然有相同的部署,3个redis实例和3个哨兵.
问题是,现在哨兵说,主人失败,因为他们认为主人是我删除的服务器.我该怎么做才能告诉哨兵它不需要在循环中包含该服务器.
从有关Redis Sentinel的文档中,在添加或删除Sentinels一章下:
删除Sentinel有点复杂:Sentinels永远不会忘记已见过的Sentinels,即使它们长时间无法访问,因为我们不想动态更改授权故障转移和创建新配置所需的多数数.因此,为了删除Sentinel,应该在没有网络分区的情况下执行以下步骤:
- 停止要删除的Sentinel的Sentinel进程.
 SENTINEL RESET *向所有其他Sentinel实例发送命令(而不是*如果您只想重置一个主服务器,则可以使用确切的主名称).一个接一个,在实例之间等待至少30秒.- 通过检查
 SENTINEL MASTER mastername每个Sentinel 的输出,检查所有Sentinels是否同意当前活动的Sentinel的数量.
进一步:
删除旧的主服务器或无法访问的服务器.
哨兵永远不会忘记给定主人的奴隶,即使他们长时间无法到达.这很有用,因为Sentinels应该能够在网络分区或故障事件后正确地重新配置返回的从站.
此外,在故障转移之后,故障转移主设备实际上被添加为新主设备的从设备,这样它将被重新配置为一旦它再次可用就与新主设备一起复制.
但是,有时您希望永远从Sentinels监视的从属列表中删除从属(可能是旧主服务器).
为此,您需要向
SENTINEL RESET mastername所有Sentinels 发送命令:它们将在接下来的10秒内刷新从属列表,仅添加列出的正确复制的当前主INFO输出.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2253 次  |  
        
|   最近记录:  |