####master sentinel.conf
##sentinel实例之间的通讯端口
port 26379
####sentinel需要监控的master信息:<mastername> <masterIP> <masterPort> <quorum>.
####<quorum>应该小于集群中slave的个数,只有当至少<quorum>个sentinel实例提交"master失效" 才会认为master为ODOWN("客观"失效) .
sentinel monitor mymaster 127.0.0.1 6379 2
####master被当前sentinel实例认定为“失效”(SDOWN)的间隔时间
sentinel down-after-milliseconds mymaster 30000
sentinel会向master发送心跳PING来确认master是否存活,如果master在“一定时间范围”内不回应PONG 或者是回复了一个错误消息,那么这个sentinel会主观地(单方面地)认为这个master已经不可用了(subjectively down, 也简称为SDOWN)。而这个down-after-milliseconds就是用来指定这个“一定时间范围”的,单位是毫秒。
####当新master产生时,同时进行“slaveof”到新master并进行同步复制的slave个数。
##在salve执行salveof与同步时,将会终止客户端请求。
##此值较大,意味着“集群”终止客户端请求的时间总和和较大。
##此值较小,意味着“集群”在故障转移期间,多个salve向客户端提供服务时仍然使用旧数据。
sentinel parallel-syncs mymaster 1
####failover过期时间,当failover开始后,在此时间内仍然没有触发任何failover操作,当前sentinel将会认为此次failover失败。
sentinel failover-timeout mymaster 900000
主从配置
先配置3个redis,分别为redis-6380.conf redis-6381.conf redis-6382.conf
连接6381 6382 这2个redis进行主从配置,6380作为mast
启动3个redis:
redis-server /etc/redis/redis-6380.conf
redis-server /etc/redis/redis-6381.conf
redis-server /etc/redis/redis-6382.conf
主从配置
方法1:
连接redis: redis-cli -h 192.168.1.73 -p 6381 -a com.123
主从设置:192.168.1.73:6381>slaveof 192.168.1.73 6380
将主从写回配置文件 config rewrite
连接redis: redis-cli -h 192.168.1.73 -p 6382 -a com.123
主从设置:192.168.1.73:6382>slaveof 192.168.1.73 6380
将主从写回配置文件 config rewrite
方法2:
在redis-6381.conf配置文件最后加 replicaof 192.168.1.73 6380
在redis-6382.conf配置文件最后加 replicaof 192.168.1.73 6380
如果不写回配置文件,重启过后主从失效
查看主从状态: info replication
sentinel配置
配置3个sentinel,sentinel26380.conf sentinel26381.conf sentinel26382.conf
port 26381
daemonize yes
pidfile /var/run/redis-sentinel26381.pid
logfile "/data/redis/log/redis-sentinel26381.log"
dir /data/redis
sentinel monitor mymaster 192.168.1.73 6380 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster com.123
acllog-max-len 128
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
SENTINEL resolve-hostnames no
SENTINEL announce-hostnames no
启动sentinel
redis-server /etc/redis/sentinel26380.conf --sentinel
redis-server /etc/redis/sentinel26381.conf --sentinel
redis-server /etc/redis/sentinel26382.conf --sentinel