• redis哨兵集群环境搭建


    一、哨兵的介绍

    哨兵(sentinal)是redis集群架构中非常重要的一个组件,主要功能如下:

    1. 集群监控,负责监控redis master和slave进程是否正常工作
    2. 消息通知,如果某个redis实例故障,哨兵负责发送消息通知给管理员
    3. 故障转移,如果master node 挂掉了,会自动转移slave node
    4. 配置中心,如果故障转移发生了,通知client客户端新的master地址

    哨兵的核心知识:

    1. 哨兵集群至少三个实例

      假设两个哨兵的集群下,Configuration: quorum = 1 (配置需要1个哨兵认为master宕机),主备切换还需一个条件majority (大多数哨兵是运行的),如果两个哨兵主机所在的机器宕机了,则剩下一个哨兵实例,则不满足大多数哨兵是运行的这个条件

    2. 哨兵+redis主从架构,是保证不了数据零丢失, 只能保证redis集群的高可用

    二、哨兵集群环境搭建

    # mkdir /etc/sentinel
    # mkdir -p /var/sentinel/5000
    # mkdir -p /var/log/sentinal/5000
    # cp /usr/local/redis-3.2.8/sentinel.conf /etc/sentinel
    # mv /etc/sentinel/sentinel.conf /etc/sentinel/5000.conf 
    
    # vi /etc/sentinel/5000.conf
        ## 修改
        port 5000
        bind 192.168.27.11      ## 当前机器的ip地址
        dir /var/sentinel/5000
        sentinel monitor mymaster 192.168.27.11 6379 2
        sentinel down-after-milliseconds mymaster 30000
        sentinel failover-timeout mymaster 60000
        sentinel parallel-syncs mymaster 1
        logfile /var/log/sentinel/5000/sentinel.log
    
    ## 启动哨兵进程
    # redis-sentinel /etc/sentinel/5000.conf
    # redis-server /etc/sentinel/5000.conf --sentinel
    
    ## 检查哨兵状态
    # redis-cli -h 192.168.27.11 -p 5000
    > sentinel master mymaster
    > sentinel slaves mymaster
    > sentinel sentinels mymaster
    > sentinel get-master-addr-by-name mymaster
    

    三、高可用容灾演练测试

    强制停掉主节点的redis

    # ps -ef|grep redis 
    # kill -9 进程号
    # rm -rf /var/run/redis_6379.pid
    
    ## 查看哨兵监控日志
    # cat /var/log/sentinel/5000/sentinel.log
    
    ## 查看当前的master节点
    # redis-cli -h 192.168.27.11 -p 5000
    > sentinel get-master-addr-by-name mymaster
  • 相关阅读:
    视觉slam十四讲课后习题ch3-7
    视觉slam十四讲课后习题ch3-6
    视觉slam十四讲课后习题ch3--5题
    (原创)遗传算法C++实现
    (笔记):组合and继承之访问限制(二)
    (笔记):组合and继承之访问限制(一)
    (笔记):初始化列表之初始化顺序
    (笔记):构造函数之初始化列表
    笔记:构造函数易错点
    (笔记):构造函数与析构函数
  • 原文地址:https://www.cnblogs.com/fly4j/p/10226819.html
Copyright © 2020-2023  润新知