1、redis主从
1、准备三台服务器:
Master节点:192.168.233.143
Slave1节点:192.168.233.144
Slave2节点:192.168.233.145
2、关闭防火墙:
systemctl stop firewalld
setenforce 0
3、设置Master:
vim /etc/redis/6379.conf
#bind 127.0.0.1
daemonize yes
logfile /var/log/redis_6379.log
dir /var/lib/redis/6379
appendonly yes
重启服务:
/etc/init.d/redis_6379 restart
设置Slave:
vim /etc/redis/6379.conf
#bind 127.0.0.1
daemonize yes
logfile /var/log/redis_6379.log
dir /var/lib/redis/6379
replicaof 192.168.233.143 6379
appendonly yes
在Master节点上看日志:
tail -f /var/log/redis_6379.log
Replica 192.168.233.144:6379 asks for synchronization
Replica 192.168.233.145:6379 asks for synchronization
在Master节点上验证从节点:
redis-cli info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.233.144,port=6379,state=online,offset=1246,lag=0
slave1:ip=192.168.233.145,port=6379,state=online,offset=1246,lag=1
2、配置哨兵:
Master节点:192.168.233.143
Slave1节点:192.168.233.144
Slave2节点:192.168.233.145
修改 Redis 配置文件(所有节点操作)
protected-mode no #17行,关闭保护模式
port 26379 #21行,Redis哨兵默认的监听端口
daemonize yes #26行,指定sentinel为后台启动
logfile "/var/log/sentinel.log" #36行,指定日志存放路径
dir "/var/lib/redis/6379" #65行,指定数据库存放路径
sentinel monitor mymaster 192.168.233.143 6379 2 #84行,修改 指定该哨兵节点监控192.168.80.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移
sentinel down-after-milliseconds mymaster 3000 #113行,判定服务器down掉的时间周期,默认30000毫秒(30秒)
sentinel failover-timeout mymaster 180000 #146行,故障节点的最大超时时间为180000(180秒)
启动哨兵模式:
先启master,再启slave
cd /opt/redis-5.0.7/
redis-sentinel sentinel.conf &
查看哨兵信息:
redis-cli -p 26379 info Sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.233.143:6379,slaves=2,sentinels=3