Redis哨兵模式的配置

1.环境准备

  • master节点1个
  • slave节点2个
  • sentinel【哨兵】节点3个
  • redis版本5.0.3
  • 操作系统:Centos7

2.主从节点配置

创建redis-conf目录,此目录用于存放主从节点的配置文件

复制redis.conf,然后创建三个配置文件:redis-6379.conf,redis-6380.conf,redis-6381.conf

编辑主节点的配置文件,redis-6379.conf,增加一个密码

daemonize yes
requirepass 123456

编辑从节点的配置文件,redis-6380.conf

port 6380
daemonize yes
pidfile "/var/run/redis_6380.pid"
logfile "6380.log"
dir "/var/tmp/redis-5.0.3/data/6380"
replicaof 127.0.0.1 6379
masterauth 123456
appendonly yes
appendfilename "appendonly.aof"
requirepass 123456

编辑从节点的配置文件,redis-6381.conf

port 6381
daemonize yes
pidfile "/var/run/redis_6381.pid"
logfile "6381.log"
dir "/var/tmp/redis-5.0.3/data/6381"
replicaof 127.0.0.1 6379
masterauth 123456
appendonly yes
appendfilename "appendonly.aof"
requirepass 123456

通过启动主从节点查看状态

启动主节点:src/redis-server redis-conf/redis-6379.conf

启动从节点:src/redis-server redis-conf/redis-6380.conf

启动从节点:src/redis-server redis-conf/redis-6381.conf

测试主从节点是否能够进行正常的数据复制

3.哨兵节点配置

创建redis-sentinel目录,用于存放哨兵配置文件。且哨兵个数需要配置奇数个节点

复制sentinel.conf,然后创建三个配置文件:sentinel-26379.conf, sentinel-26380.conf, sentinel-26381.conf

在编辑每个哨兵节点时候,大家可以先参考一下自带sentinel.conf中默认的配置信息

port 26379
daemonize no
pidfile /var/run/redis-sentinel.pid
logfile ""
dir /tmp
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

编辑sentinel-26379.conf,主要修改端口,后台启动进程,pidfile,logfile,dir,主从节点的密码,地址

port 26379
daemonize yes
pidfile "/var/run/redis-sentinel-26379.pid"
logfile "26379.log"
dir "/var/tmp/redis-5.0.3/data/26379"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456

编辑sentinel-26380.conf,主要修改端口,后台启动进程,pidfile,logfile,dir,主从节点的密码,地址

port 26380
daemonize yes
pidfile "/var/run/redis-sentinel-26380.pid"
logfile "26380.log"
dir "/var/tmp/redis-5.0.3/data/26380"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456

编辑sentinel-26381.conf,主要修改端口,后台启动进程,pidfile,logfile,dir,主从节点的密码,地址

port 26381
daemonize yes
pidfile "/var/run/redis-sentinel-26381.pid"
logfile "26381.log"
dir "/var/tmp/redis-5.0.3/data/26381"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456

启动sentienl,系统会在配置文件中自动写入:哨兵的id,以及链接信息,例如sentinel-26379.conf启动后的完整信息

4.哨兵测试

关掉主节点,哨兵通过30秒的检查判断主节点是否挂掉。若挂掉则进行让其中的某个slave变为主节点,并再次完成主从复制操作(全量 或 部分)

登录sentinel-26379哨兵,进行查询

再一次登录sentinel-26380哨兵,进行查询

再一次登录sentinel-26381哨兵,进行查询

posted @ 2023-06-16 11:16  子墨老师  阅读(1373)  评论(0编辑  收藏  举报