部署一个简单的哨兵集群

1,752 阅读3分钟

前言&&准备工作

在之前的文章中讲解了哨兵是用来实现主从架构高可用的,今天我们抛开哨兵的原理,从实践角度出发,单纯地搭建一个三个哨兵节点组成的集群。

准备工作:在安装哨兵集群之前,需要在3台虚拟机上安装好1主2从的主从架构,这个步骤读者可以上网搜索一下,这里就不展开介绍了。Redis主从架构,如果master节点宕机,那么整个主从架构就不可用了,但是有了哨兵就可以实现对master的故障检测、完成故障转移,从而实现高可用性。

  • master机器:192.168.1.104
  • slave机器:192.168.1.105 /192.168.1.106

配置参数理解

在安装之前,我们先来看看Redis哨兵相关的一些参数。

  • sentinel monitor mymaster 127.0.0.1 6379 2

    用来指定对一个master的监控

    • mymaster 是给监控的master指定的名称
    • 127.0.0.1 6379为master的ip 、port
  • sentinel down-after-milliseconds mymaster 60000

    mymaster : 指定master名称

    down-after-milliseconds:哨兵与master 超过多少毫秒断开连接,判定master宕机(主观宕机),这里配置的是60000ms。

  • sentinel failover-timeout mymaster 180000

    failover-timeout:执行故障转移的超时时间

  • sentinel parallel-syncs mymaster 1

    parallel-syncs:新的master切换过来后,同时有多少个slave去连接新的master,重新做数据的同步,数字越低,花费的时间越多。

    • 如果parallel-syncs是1,那么2个slave,依次挂接到新的master上面去,1个挂接完,而且从新的master sync完数据之后,再挂接下一个

    • 如果parallel-syncs是2,那么一次性就会把所有slave挂接到新的master上去

正式安装

需要在每台服务器上各操作一遍。

  1. mkdir /etc/sentinel

  2. mkdir -p /var/sentinel/5000

  3. 找到sentinel.conf文件,下载到电脑本地,重命名5000.conf,修改配置项后,上传到/etc/sentinel目录下面

    # 部署在192.168.1.104上的哨兵配置
    port 5000
    bind 192.168.1.104
    dir /var/sentinel/5000
    sentinel monitor mymaster 192.168.1.104 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    
    # 部署在192.168.1.105上的哨兵配置
    port 5000
    bind 192.168.1.105
    dir /var/sentinel/5000
    sentinel monitor mymaster 192.168.1.104 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    
    # 部署在192.168.1.106上的哨兵配置
    port 5000
    bind 192.168.1.106
    dir /var/sentinel/5000
    sentinel monitor mymaster 192.168.1.104 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    

    唯一需要修改的是bind

  4. 启动哨兵 redis-sentinel /etc/sentinel/5000.conf

至此,哨兵安装成功!

查看哨兵状态信息

sentinel master mymaster

SENTINEL slaves mymaster

SENTINEL sentinels mymaster

总结

​ 本文简单讲解了如何搭建一个3节点的哨兵集群,我们可以看到安装过程其实很简单;但对笔者来说,动手实际操作一下,还是很有收获的。后面再补充一篇搭建redis cluster的文章,谢谢您的阅读!

本文使用 mdnice 排版