主从+哨兵(三机)

一、需要创建的文件夹

mkdir /redis/data

二、文件的配置
1、主从配置
1)主服务器配置文件/etc/redis/master-6380.conf

port 6380
protected-mode no
daemonize yes
pidfile "/var/run/redis-6380.pid"
logfile "/redis/data/redis-6380.log"
dir "/redis/data"

启动

redis-server  /etc/redis/master-6380.conf

验证

ps -ef |grep redis
ss -natl

查看主从

redis-cli -p 6380 info relication

2)从1服务器配置文件/etc/redis/slave-6381.conf

port 6381
protected-mode no
daemonize yes
pidfile "/var/run/redis-6381.pid"
logfile "/redis/data/redis-6381.log"
dir "/redis/data"
slaveof 172.16.153.180 6380

3)从2服务器配置文件/etc/redis/slave-6382.conf

port 6382
protected-mode no
daemonize yes
pidfile "/var/run/redis-6382.pid"
logfile "/redis/data/redis-6382.log"
dir "/redis/data"
slaveof 172.16.153.180 6380

验证

ps -ef |grep redis
ss -natl

启动

redis-server /etc/redis/slave-6381.conf
redis-server /etc/redis/slave-6382.conf

2、哨兵配置
1)哨兵1配置文件/etc/redis/sentinel-27000.conf

port 27000
dir "/redis/data"
daemonize yes
protected-mode no
logfile "27000.log"
sentinel monitor mymaster 172.16.153.180 6380 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 5000
sentinel parallel-syncs mymaster 1

2)哨兵2文件/etc/redis/sentinel-27001.conf

port 27001
dir "/redis/data"
daemonize yes
protected-mode no
logfile "27001.log"
sentinel monitor mymaster 172.16.153.180 6380 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 5000
sentinel parallel-syncs mymaster 1

3)哨兵3文件/etc/redis/sentinel-27002.conf

port 27002
dir "/redis/data"
daemonize yes
protected-mode no
logfile "27002.log"
sentinel monitor mymaster 172.16.153.180 6380 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 5000
sentinel parallel-syncs mymaster 1

备份原文档

cp /etc/redis/* /etc/redis1/

启动

redis-sentinel /etc/redis/sentinel-27000.conf
redis-sentinel /etc/redis/sentinel-27001.conf
redis-sentinel /etc/redis/sentinel-27002.conf

验证

ps -ef |grep redis
ss -natl

查看哨兵信息

redis-cli -p 27001 info

三、故障演练
1)停止主服务器

redis-cli -p 6380 shutdown

2)不断的刷新其中一个 Sentinel 节点的信息,观察最后一行信息的变化

root@s1 ~]# redis-cli -p 27001 info
...略...
master0:name=mymaster,status=ok,address=127.0.0.1:6382,slaves=2,sentinels=3

停止

#redis-cli -p 6380 shutdown &>/dev/null
#redis-cli -p 6381 shutdown &>/dev/null
#redis-cli -p 6382 shutdown &>dev/null
#redis-cli -p 27000 shutdown &>dev/null
#redis-cli -p 27001 shutdown &>dev/null
#redis-cli -p 27002 shutdown &>dev/null
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容