zoukankan      html  css  js  c++  java
  • redis哨兵机制及配置

    Redis哨兵机制

    什么是哨兵机制

    Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:

    ·        监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。

    ·        提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。

    ·        自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。

    哨兵(sentinel) 是一个分布式系统,你可以在一个架构中运行多个哨兵(sentinel) 进程,这些进程使用流言协议(gossipprotocols)来接收关于Master是否下线的信息,并使用投票协议(agreement protocols)来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master.

    每个哨兵(sentinel) 会向其它哨兵(sentinel)、master、slave定时发送消息,以确认对方是否”活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的”主观认为宕机” Subjective Down,简称sdown).

    若“哨兵群”中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称odown),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置.

    虽然哨兵(sentinel) 释出为一个单独的可执行文件 redis-sentinel ,但实际上它只是一个运行在特殊模式下的 Redis 服务器,你可以在启动一个普通 Redis 服务器时通过给定 --sentinel 选项来启动哨兵(sentinel).

    哨兵(sentinel) 的一些设计思路和zookeeper非常类似

    当master出现问题或者宕机的情况下,redis的哨兵机制底层选举一个服务器做主服务器(主服务器master有读写的权限)(然而从服务器slave只有读的权限)

    当所有服务器出现宕机由keepalived 监听机制,自动重启,如果失败,则以邮件方式通知运维人员

    二redis中哨兵的配置

    实现步骤:

    1.拷贝到etc目录

    cp sentinel.conf  /usr/local/redis/etc

    2.修改sentinel.conf配置文件

    sentinel monitor mymast  192.168.110.133 6379 1  #主节点 名称 IP 端口号 选举次数

    sentinel auth-pass mymaster 123456 

    3. 修改心跳检测 5000毫秒

    sentinel down-after-milliseconds mymaster 5000

    4.sentinel parallel-syncs mymaster 2 --- 做多多少合格节点

    5. 启动哨兵模式

    ./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

    刚刚配置由于粗心写错了IP

    然后删掉了sentinel.conf,重新配置的(复制到etc下面的sentinel.conf)

    rm sentinel.conf 

    y

    然后重启liunx

    开启防火墙 service iptables stop

    配置好了后开启哨兵

    如图所示就可以了

    192.168.26.4 为master

    192.168.26.5 为slave

     192.168.26.6 为slave(且为哨兵)

    ,测试关闭主服务器 shutdown

    192.168.26.5 开启redis后输入info查看主从信息(可以看见master转换为 192.168.26.6 )

  • 相关阅读:
    sqlplus时报Linux-x86_64 Error: 13: Permission denied
    thrift之TTransport层的缓存传输类TBufferedTransport和缓冲基类TBufferBase
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 合并石子
  • 原文地址:https://www.cnblogs.com/jhjlcr/p/10411391.html
Copyright © 2011-2022 走看看