2

为了管理主从故障转移,redis 有哨兵在手。我正在使用的两台服务器。一个用于主服务器,另一个用于从服务器。master 和 slave 都是远程服务器并作为守护进程运行。如何使用主从 IP 配置哨兵。Sentinel 需要运行的地方。如何将哨兵作为守护进程运行。

详情:

我的主人跑进来

Port: 6379

IP: 192.168.56.101

我的奴隶跑进来

Port: 6379

IP: 192.168.56.102

我的节点正在运行

IP: 192.168.0.140

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

更新文档指定了运行 Sentinel 的命令。我的问题是哨兵需要在我的本地机器或运行主服务器的虚拟机中运行,或者作为单独的哨兵服务器运行。就像一台redis-server用于master,一台用于slave,另一台用于sentinel。?

4

3 回答 3

2

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

我也开始研究 redis-sentinel 配置。

到目前为止,我们已经在运行 redis-server 的每个虚拟机(主服务器和从服务器)上运行了哨兵实例,但是为了正确配置哨兵实例的仲裁,您应该至少配置 3 个哨兵和 2 的仲裁。这就是为什么在我的情况下,我添加了第三台虚拟机 runnung redis-server 作为 master 的 slave(所以我们有 1 个 master 和 2 个 slave)——如果 master 失败,你仍然会有 1 个 master 和 1 个从机可用。

我看不到仅使用哨兵实例运行独立机器的价值 - 这似乎只是浪费可用资源。

于 2014-03-26T08:54:50.050 回答
1

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

在您的设置中,最好的办法是生成一个额外的 Linux VM,并在三个节点中运行 Sentinel:您已经拥有的两个 Linux VM 和一个额外的 VM,将仲裁设置为 2,因此您将能够在以下情况下进行故障转移Redis 进程将失败,但如果运行 Redis 主服务器的整个 VM 也会失败。

于 2014-03-19T08:20:49.677 回答
0

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

于 2014-03-18T18:58:01.193 回答