zoukankan      html  css  js  c++  java
  • redis集群搭建 sentinal

    配置文件

    sentinel.conf
    
    最小的配置
    
    每一个哨兵都可以去监控多个maser-slaves的主从架构
    
    因为可能你的公司里,为不同的项目,部署了多个master-slaves的redis主从集群
    
    相同的一套哨兵集群,就可以去监控不同的多个redis主从集群
    
    你自己给每个redis主从集群分配一个逻辑的名称
    
    # sentinel monitor master-group-name hostname port quorum
    sentinel monitor mymaster 127.0.0.1 6379 2
    #down-after-milliseconds,超过多少毫秒跟一个redis实例断了连接,哨兵就可能认为这个redis实例挂了
    sentinel down-after-milliseconds mymaster 60000  
    # failover-timeout,执行故障转移的timeout超时时长
    sentinel failover-timeout mymaster 180000
    # parallel-syncs,新的master别切换之后,同时有多少个slave被切换到去连接新master,重新做同步,数字越低,花费的时间越多
    sentinel parallel-syncs mymaster 1  
    

    正式的配置

    哨兵默认用26379端口,默认不能跟其他机器在指定端口连通,只能在本地访问
    
    mkdir /etc/sentinal
    mkdir -p /var/sentinal/5000
    
    /etc/sentinel/5000.conf
    
    port 5000
    bind 10.211.55.30
    dir /var/sentinal/5000
    sentinel monitor mymaster 10.211.55.30 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    
    port 5000
    bind 10.211.55.31
    dir /var/sentinal/5000
    sentinel monitor mymaster 10.211.55.30 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    
    port 5000
    bind 10.211.55.32
    dir /var/sentinal/5000
    sentinel monitor mymaster 10.211.55.30 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel failover-timeout mymaster 60000
    sentinel parallel-syncs mymaster 1
    

    启动哨兵进程

    在 cache01、 cache02、 cache03三台机器上,分别启动三个哨兵进程,组成一个集群,观察一下日志的输出
    
    redis-sentinel /etc/sentinal/5000.conf
    redis-server /etc/sentinal/5000.conf --sentinel
    
    日志里会显示出来,每个哨兵都能去监控到对应的redis master,并能够自动发现对应的slave
    如果没有发现,那可能是没有设置sentinel auth-pass mymaster master-pass
    哨兵之间,互相会自动进行发现,用的就是之前说的pub/sub,消息发布和订阅channel消息系统和机制
    

    检查哨兵状态

    redis-cli -h 10.211.55.30 -p 5000
    
    sentinel master mymaster
    SENTINEL slaves mymaster
    SENTINEL sentinels mymaster
    
    SENTINEL get-master-addr-by-name mymaster
    
  • 相关阅读:
    git的使用
    每个JavaScript开发人员应该知道的33个概念
    JavaEE实战——XML文档DOM、SAX、STAX解析方式详解
    Java-函数式编程(三)流(Stream)
    Spring高级装配(二) 条件化的bean
    Spring高级装配(一) profile
    Spring Bean装配学习
    Java7任务并行执行神器:Fork&Join框架
    Stream:java1.8新特性
    java基础
  • 原文地址:https://www.cnblogs.com/Zidon/p/10188533.html
Copyright © 2011-2022 走看看