• Redis的sentinel机制(sentinel节点IP为:192.168.23.10) “哨兵”


      • 万一主节点打击,主从模型将会停止工作,为了解决这个问题,Redis提供了一个sentinel(哨兵),以此来实现主从切换的功能,一旦主节点宕机了,sentinel将会在从节点中挑一个作为主节点。与zookeeper类似
    • 编辑/etc/redis-sentinel.conf文件
    1: mymaster指定主节点的主机名(可以随便取一个名),127.0.0.1 6379:指明主节点的IP和端口,2:表示一个节点要成为主节点必须拥有的票数,这里默认是2,因此最好启动2个以上centinel进程。这个指令可以写多个,表明sentinel可以监控多个Redis主从架构。这里改为1,启动centinel进程演示
    sentinel monitor mymaster 192.168.23.10 6379 1
     
    2:指明主节点多少秒联系不上,认定主服务器宕机,默认30000毫秒
    sentinel down-after-milliseconds mymaster 3000
     
    3:从新指定主服务器后,允许几台从服务器去主服务器同步数据
    sentinel parallel-syncs mymaster 1
     
    4:指定故障转移的超时时长,如果180000毫秒,无法在从服务器选择主服务器,则故障转移失败
    sentinel failover-timeout mymaster 18000
     
    5: 指定与master通信的密码
    sentinel auth-pass mymaster 123456
    • 启动systemctl
    systemctl start redis-sentinel.service
    • 登入Sentinel,查看主从状态
    redis-cli -p 26379
     
    127.0.0.1:26379> info Sentinel
    # Sentinel
    sentinel_masters:1
    sentinel_tilt:0
    sentinel_running_scripts:0
    sentinel_scripts_queue_length:0
    sentinel_simulate_failure_flags:0
    master0:name=mymaster,status=ok,address=192.168.23.10:6379,slaves=2,sentinels=1
    • 停止Redis的master节点,登入sentinel查看节点信息(此时的主节点已经是192.168.23.12了)
    systemctl stop redis.service
     
    [root@7 ~]# redis-cli -p 26379
    127.0.0.1:26379> info sentinel
    # Sentinel
    sentinel_masters:1
    sentinel_tilt:0
    sentinel_running_scripts:0
    sentinel_scripts_queue_length:0
    sentinel_simulate_failure_flags:0
    master0:name=mymaster,status=ok,address=192.168.23.12:6379,slaves=2,sentinels=1
     
    127.0.0.1:26379> sentinel masters
  • 相关阅读:
    [Clojure] 包管理器leiningen配置国内镜像仓库
    [Haskell] 为什么列表操作++很昂贵?
    js判断除了空格换行之外是否为空
    iOS上架之隐私信息访问权限(uni-app)
    vue之动态绑定class
    this
    uni-app 上传图片之压缩图片上传
    uniapp无痛刷新token
    jQuery 发送跨域请求(jsonp)
    Document
  • 原文地址:https://www.cnblogs.com/liu1026/p/7685993.html
Copyright © 2020-2023  润新知