redis(哨兵)

    科技2022-07-20  116

    哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票选择新的master将所有slave连接到心的master

    哨兵的作用

    监控: 不断的检查master和slave是否正常进行。 master存活检测,master与slave进行情况检测 通知: 当被监控的服务出现问题时,向其他(哨兵间,客户端发送通知) 自动故障转移 断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址; 注意: 哨兵也是一台redis服务器,只是不提供数据服务,通常哨兵配置数量为单数


    配置哨兵

    启动哨兵:redis-sentinel sentinel-端口号.conf 查看命令:cat sentinel.conf | grep -v “#” | grep -v “^$” 去掉注释替换换行 port 26379 dir /tmp 数据保存目录 sentinel monitor mymaster 127.0.0.1 6379 2 #有2个哨兵认为主机挂了 那就挂了 sentinel down-after-milliseconds mymaster 300000 主机30秒连接没响应认为挂了 sentinel parallel-syncs mymaster 1 当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1 sentinel failover-timeout mymaster 180000 故障转移超时时间为180000毫秒 命令:sed ‘s/16379/26380/g’ sentinel-26379 > sentinel-26380.conf


    redis-6379主:

    port 6379 daemonize no #logfile "6379.log" dir /redis-4.0.0/data dbfilename dump-6379.rdb rdbcompress yes rdbchecksum yes save 10 2 appendonly yes appendfsync always appendfilename appendonly-6379.aof bind 127.0.0.1 database 16

    redis-6380从:

    port 6380 daemonize no #logfile "6380.log" dir /redis-4.0.0/data slaveof 127.0.0.1 6379
    Processed: 0.010, SQL: 8