在哪里运行redis-sentinel

为了pipe理主从故障转移,redis手头上有sentinel。 我正在使用两台服务器。 一个用于主服务器,另一个用于从服务器。 主机和从机都是远程服务器,并作为后台进程运行。 如何configuration主站和从站IP的标记。 哨兵需要运行的地方。 如何运行哨兵守护进程。

详细信息:

我的主人在跑

Port: 6379

IP: 192.168.56.101

我的奴隶跑进去了

Port: 6379

IP: 192.168.56.102

我的节点正在运行

IP: 192.168.0.140

注意 :Redis服务器在Windows的虚拟机中运行。 节点也在同一台机器上本地运行。

更新该文档指定运行sentinel的命令。 我的问题是哨兵需要在我的本地机器上运行,或者在主机正在运行的虚拟机上运行,​​或者作为单独的哨兵服务器运行。 就像一个redis服务器的主人,一个奴隶,另一个哨兵。

请注意,这里有一个实际在单个主机上运行的设置,因此在Sentinel中,只有在Redis服务器崩溃和/或发生其他软件错误时才添加HA来提高可用性,则不会添加任何实际的HA从硬件故障的angular度来看。 但可能这已经很明显了。

在你的设置中,最好的办法是让IMHO生成一个额外的Linux虚拟机,然后在三个节点上运行Sentinel:你已经拥有的两个Linux虚拟机和一个额外的虚拟机,将仲裁设置为2,这样你就可以进行故障转移运行Redis主机的整个虚拟机将会失败,Redis进程将会失败。

我的问题是哨兵需要在我的本地机器上运行,或者在主机正在运行的虚拟机上运行,​​或者作为单独的哨兵服务器运行,就像一个redis服务器作为master,一个作为slave,另一个作为sentinel

我也开始调查redis-sentinelconfiguration。

到目前为止,我们在每个运行redis-server(主服务器和从服务器)的虚拟机上运行标识实例,但为了正确configuration标记实例的法定数量,您至less应该configuration三个标记和两个法定人数。 这就是为什么在我的情况下,我已经添加了第三台虚拟机runnung redis服务器作为master的奴隶(所以我们有1主人和2奴隶相关) – 万一如果主要失败,你仍然会有1主人和1奴隶可用。

我没有看到只运行定点实例的独立机器的价值 – 这似乎只是可用资源的浪费。

关于哨兵http://redis.io/topics/sentinel的 redis文档可能会有所帮助。