• redis 哨兵 sentinel(一)配置


    在这里插入图片描述
    sentinel巡查监控后台master主机是否故障,如果故障根据投票数自动将某一个从库转换为新主库,继续对外服务

    sentinel 哨兵的功能
    1. 监控 监控主从redis库运行是否正常
    2. 消息通知 哨兵可以将故障转移的结果发送给客户端
    3. 故障转移 如果master异常,则会进行主从切换,将其中一个slave作为新Master
    4. 配置中心 客户端通过连接哨兵来获得当前redis服务的主节点地址

    在这里插入图片描述

    sentinel.conf

    Ubuntu上我使用的是APT命令安装Redis:sudo apt install redis,安装完成之后redis.conf文件的默认路径是:/etc/redis/redis.conf,redis-server文件的默认路径是:/usr/bin/redis-server

    假设我们有三个IP:10.108.3.86、10.108.3.186、10.108.3.187,我们把86作为redis的master节点,剩下两个作为slave节点

    一、redis配置,修改redis.conf文件(以master为例):
    设置绑定IP
    bind 10.108.3.86
    设置绑定端口
    port 6379

    是否开启保护模式,默认开启。
    要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,
    可以开启。否则最好关闭设置为no。
    protected-mode no

    redis进程是否以守护进程的方式运行
    daemonize yes

    密码
    requirepass zen

    master通讯密码(注意:只有master节点才添加这一项,其余节点不需要添加)
    masterauth zen (主机才有,从机没有)

    二、哨兵配置(所有节点):
    新建一个/etc/redis/sentinel.conf配置文件,输入如下配置:

    端口
    port 26379
    关闭保护模式,可以外部访问
    protected-mode no
    设置后台启动
    daemonize yes
    日志文件
    logfile /var/log/redis/redis-server-sentinel.log

    指定master主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换
    sentinel monitor
    sentinel monitor mymaster 10.108.3.86 6379 2

    当redis实例中开启了requirepass,这里就需要提供密码
    sentinel auth-pass mymaster zen

    设置主机多少秒无响应,则认为挂了
    sentinel down-after-milliseconds mymaster 3000

    主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1
    sentinel parallel-syncs mymaster 1

    故障转移的超时时间,这里设置为三分钟
    sentinel failover-timeout mymaster 180000

    三、启动哨兵(所有节点)
    /usr/bin/redis-server /etc/redis/sentinel.conf --sentinel

    四、停止哨兵(所有节点,以master节点为例)
    redis-cli -a vm-ubunut-sentinel -c -h 10.108.3.86 -p 26379 shutdown

    附加:

    可以将启动哨兵、停止哨兵写成批处理文件,比如:start.sh、stop.sh,给两个文件授权:sudo chmod 775 start.sh、sudo chmod 775 stop.sh
    之后就可以直接用批处理启动和停止哨兵,也可以设置开机启动

    查看redis服务状态:sudo systemctl status redis
    启动服务:sudo systemctl start redis
    停止服务:sudo systemctl stop redis

  • 相关阅读:
    经过一个多月的等待我有幸成为Spring相关项目的Contributor
    FFmpeg入门详解之24:短视频技术原理
    【JAVA学习笔记】43 - 枚举类
    Python生成allure测试报告,allure使用详细说明
    对MybatisPlus的Select和Update实现自定义Sql
    数据大屏设计思路 6点
    java的内存模型(概念)
    ARM汇编之数据处理指令
    学习Python中pywifi模块的基本用法
    消息队列(RabbitMQ+RocketMQ+Kafka)
  • 原文地址:https://blog.csdn.net/u013400314/article/details/133749863