zoukankan      html  css  js  c++  java
  • Redis-Sentinel 哨兵

    为什么需要哨兵?

    一旦主节点宕机,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所有从节点复制新的主节点
    那么这个问题,redis-sentinel就可以解决了

    什么是哨兵Redis-Sentinel?
    保护redis主从集群正常运转,当redis主库挂掉之后,自动的在从库中挑选新的主库,进行同步.
    哨兵会不停的给主库发ping,如果一定时间内主库没回复就认为主库挂了.就自动的在从库中挑选新的主库.
    如果有多个哨兵,那么多个哨兵是通过订阅相同的频道来交流的.
    可以多个哨兵监控一个主从集群. 哨兵多个,为了防止只有一个哨兵的时候,哨兵也宕机了.
    哨兵是redis的一个进程, 哨兵不做存储,只监控redis

    多个哨兵监控一个主从集群

    主库出现故障的时候, 哨兵选一个从库作为新的主库, 并修改其他从库的新主库

    举例:

    step1. 开启3个redis服务器, 以不同端口区分

        

    step2 准备3个哨兵 

    哨兵端口默认26379  以端口的不同区分3个哨兵
    1.哨兵的配置文件
             port 26379  
             dir /var/redis/data/
             logfile "26379.log"

    sentinel monitor youku-master 127.0.0.1 6379 2 sentinel down-after-milliseconds youku-maste 30000 sentinel parallel-syncs youku-maste 1 sentinel failover-timeout youku-maste 180000 daemonize yes

        

        快速生成其他2个哨兵的配置文件
          sed "s/26379/26380/g" redis-sentinel-26379.conf >  redis-sentinel-26380.conf                
          sed "s/26379/26381/g" redis-sentinel-26379.conf >  redis-sentinel-26381.conf 

        

    2.启动三个哨兵

        

    3.查看哨兵 自动发现redis主从节点

        

    4.查看哨兵的状态

        

    step3 测试哨兵功能  杀掉主库6379  查看哪一个从库变成了主库

      主库宕机后 哨兵选择一个从库变为主库 原理是哨兵修改redis服务器的配置文件的slaveof  从而改变主从关系

        

  • 相关阅读:
    C/C++通过WMI和系统API函数获取获取系统硬件配置信息
    C++ 获取mac地址
    解决Win7下UAC开启时无法响应WM_DROPFILES消息
    C++vector迭代器失效的问题
    解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化
    VC++获取计算机Hardware Information (CPU ID, MainBoard Info, Hard Disk Serial, System Information)
    VC++实现在系统托盘来新消息闪烁,鼠标悬停显示窗口
    正则表达式的懒惰匹配?
    thinkphp-许愿墙-3
    thinkphp-许愿墙-2
  • 原文地址:https://www.cnblogs.com/dingyunfeng/p/10230320.html
Copyright © 2011-2022 走看看