• centos7上配置redis哨兵


    1 配置三个redis数据库, 一主两从

    redis-6380.conf #主
    redis-6381conf #从
    redis-6382.conf #从
    写下以下配置文件

    vim redis-6380.conf

    port 6380
    daemonize yes
    pidfile /data/6380/redis.pid
    loglevel notice
    logfile "/data/6380/redis.log"
    dbfilename dump.rdb
    dir /data/6380
    protected-mode no
    再创建两个配置文件6381和6382

    sed "s/6380/6381/g" redis-6380.conf > redis-6381.conf
    sed "s/6380/6382/g" redis-6380.conf > redis-6382.conf
    创建数据文件目录

    mkdir -p /data/{6380,6381,6382}
    给两个从服务器配置文件再添加一行配置

    在6381和6382配置文件添加这一行配置,表示指定主服务器为6380
    slaveof 127.0.0.1 6380

    2 启动三个redis数据库, 确保主从复制正常运行

    redis-server redis-6380.conf
    redis-server redis-6381.conf
    redis-server redis-6382.conf

    3 配置三个哨兵

    cd /opt/redis/
    vim redis-sentinel-16380.conf
    vim redis-sentinel-16381.conf
    vim redis-sentinel-16382.conf
    写入以下配置文件

    port 16381
    dir "/data/16381"
    logfile "16381.log"
    sentinel myid 3cf63a8e47b2372667013f8cdee7a3a5130d41fc
    sentinel deny-scripts-reconfig yes
    sentinel monitor qishimaster 127.0.0.1 6381 2
    sentinel down-after-milliseconds qishimaster 60000
    daemonize yes
    哨兵配置文件详解(不在步骤里面):

    Sentinel节点的端口
    port 26379
    dir /var/redis/data/
    logfile "26379.log"

    sentinel announce-ip 127.0.0.1 # 宣告哨兵IP, 此配置只有当使用非127.0.0.1的IP配置哨兵无法成功时加上,同时redis三个服务端也需要同步修改IP

    当前Sentinel节点监控 127.0.0.1:6379 这个主节点
    2代表判断主节点失败至少需要2个Sentinel节点节点同意
    mymaster是主节点的别名
    sentinel monitor mymaster 127.0.0.1 6379 2

    每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
    sentinel down-after-milliseconds mymaster 30000

    当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
    sentinel parallel-syncs mymaster 1

    故障转移超时时间为180000毫秒
    sentinel failover-timeout mymaster 180000

    daemonize yes
    创建存放哨兵文件的目录

    mkdir -p /data/{16380,16381,16382}
    启动三个哨兵

    redis-sentinel redis-sentinel-16380.conf
    redis-sentinel redis-sentinel-16381.conf
    redis-sentinel redis-sentinel-16382.conf
    查看哨兵是否成功通信

    redis-cli -p 16380 info sentinel
    原文地址: https://www.cnblogs.com/sonyy/p/13153379.html

    微醺生活,醉美人生
  • 相关阅读:
    mysql基础整理01
    继承、接口、static、abstract
    重载与重写
    单例模式
    我的程序人生
    Idea的Maven项目引入模块
    测试单元测试完毕关闭jvm
    java线程
    logback日志的美化
    Netty中消除开始的日志消息修改日志级别
  • 原文地址:https://www.cnblogs.com/sonyy/p/13153379.html
Copyright © 2020-2023  润新知