zoukankan      html  css  js  c++  java
  • redis 4.0.13 -- 哨兵模式

    1、前提

     本文使用的是redis-4.0.13.tar.gz版本。

    redis各版本下载地址:http://download.redis.io/releases/ , 下载与安装单个redis查看我的另一篇《redis 4.0.13 -- 单个redis下载、安装、启动、验证》的“1、下载与初始化redis”

    按照我之前的文章《redis 4.0.13 -- 主从模式》先在安装好主从。

    但是主从模式有个缺点,如果主挂了,从没办法知道,所以需要哨兵。但是如果这个哨兵也挂了呢?所以需要3个哨兵。。。

    2、新建哨兵配置文件

    mkdir redis-sentinel 在redis-4.0.13目录下新建redis-sentinel文件夹

    vim redis-sentinel.conf 新建哨兵配置文件,添加以下内容:

    #sentinel端口
    port 26379
    #工作路径,注意路径不要和主重复
    dir "/home/program/redis-4.0.13/redis-sentinel"
    # 守护进程模式
    daemonize yes
    #关闭保护模式
    protected-mode no
    # 指明日志文件名
    logfile "/home/program/redis-4.0.13/sentinel.log"
    #哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
    sentinel myid c186cf19d1e2533f21b650cca31fccabaa266293               //这一行由启动成功的哨兵自己写入,不必人工编辑
    # master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
    sentinel deny-scripts-reconfig yes
    #若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
    sentinel monitor mymaster 192.168.10.150 6379 2      //监控master节点所在的IP端口,并设置2个sentinel哨兵监控到master节点挂掉才能启动故障转移,把其中一台slave升级为master,如果旧master恢复正常,也加入slave。
    #设置master和slaves验证密码
    #sentinel auth-pass mymaster 123456
    #sentinel parallel-syncs mymaster 1      //指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
    
    # Generated by CONFIG REWRITE 以下内容都是sentinel在启动之后会自己改的,默认都注释掉即可
    sentinel down-after-milliseconds mymaster 5000      //在master挂掉后多少毫秒后才算真的master挂掉
    sentinel failover-timeout mymaster 18000            //故障转移超时时间(毫秒)。如果Redis的master节点出现问题,Sentinel能够启动一个故障转移处理,该处理会将一个slave节点提升为master节点,其他的slave节点则会自动配置成新的master节点的slave节点,如果原来的master重新正常启动后,也会成为该新Master的slave节点。
    sentinel config-epoch mymaster 3                
    sentinel leader-epoch mymaster 3
    sentinel known-slave mymaster 192.168.10.140 6379       //已知的slave节点
    sentinel current-epoch 3
    3、启动哨兵
    cd /home/program/redis-4.0.13 
    src/redis-sentinel redis-sentinel/redis-sentinel.conf        重点!启动三次就是启动了三个哨兵。查看哨兵启动进程:  ps -ef|grep redis

     4、验证哨兵

    把主redis,即master kill掉,可以看到从的客户端info命令里,已经由slave变成了master,表示哨兵启用成功。

    哨兵启用成功之后, redis-sentinel.conf 配置里的 # Generated by CONFIG REWRITE 部分内容会被哨兵自动更新值。

  • 相关阅读:
    垃圾回收的可触及性
    常用的垃圾回收算法
    石子归并(区间dp 模板)
    D. Zero Quantity Maximization ( Codeforces Round #544 (Div. 3) )
    Parity game(带权并查集+离散化)
    Supermarket(贪心/并查集)
    D. Nested Segments(树状数组、离散化)
    dijkstra,belllman-ford,spfa最短路算法
    重载符
    Electrification Plan 最小生成树(prim+krusl+堆优化prim)
  • 原文地址:https://www.cnblogs.com/zhuwenjoyce/p/12288388.html
Copyright © 2011-2022 走看看