redis哨兵+redis主从复制(在虚拟机centos的docker下)

2023-12-25 10:36:24

1.安装docker

Docker安装(CentOS)+简单使用-CSDN博客

2.redis主从复制

redis主从复制(在虚拟机centos的docker下)-CSDN博客

3.编辑3个redis配置

cd /etc
mkdir redis-sentinel
cd redis-sentinel/
wget http://download.redis.io/redis-stable/sentinel.conf

cp sentinel.conf sentinel1.conf
# 修改哨兵的监听端口
port 26379

# 让sentinel服务后台运行(docker的话需要设置为no,非docker运行设置为yes, 因为docker有个-d属性就是让在后台运行的)
daemonize no 

# 当Redis哨兵以守护进程的方式运行的时候,默认会把pid文件放在/var/tmp/sentinel1.log,也可以配置到其他地址,多个哨兵需要重命名文件。
pidfile /var/run/redis-sentinel2.pid

# 修改日志文件的路径
logfile "/var/tmp/sentinel.log"

# 哨兵sentinel监控的redis主节点的
## ip:主机ip地址
## port:哨兵端口号
## master-name:可以自己命名的主节点名字(只能由字母A-z、数字0-9 、这三个字符".-_"组成。)
## quorum:当这些quorum个数sentinel哨兵认为master主节点失联,那么这时客观上认为主节点失联了,就进行failover(故障转移)
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 192.168.2.77 6379 2

# 当在Redis实例中开启了requirepass <foobared>,所有连接Redis实例的客户端都要提供密码。
sentinel auth-pass mymaster 123456

#超过5秒master还没有连接上,则认为master已经停止
sentinel down-after-milliseconds mymaster 5000

# 注释掉以下参数,当前redis版本6.2.1,开启参数启动哨兵启报错
# >>> 'SENTINEL master-reboot-down-after-period mymaster 0'
# Unrecognized sentinel configuration statement
# SENTINEL master-reboot-down-after-period mymaster 0

注:sentinel2.conf?sentinel3.conf 与?sentinel1.conf 类似

4.启动sentinel?

docker run -p 26379:26379 --name sentinel1 -v /etc/redis-sentinel:/usr/local/etc/redis -v /var/tmp/sentinel1.log:/var/tmp/sentinel.log -d redis redis-sentinel /usr/local/etc/redis/sentinel1.conf
docker run -p 26380:26380 --name sentinel2 -v /etc/redis-sentinel:/usr/local/etc/redis -v /var/tmp/sentinel2.log:/var/tmp/sentinel.log -d redis redis-sentinel /usr/local/etc/redis/sentinel2.conf
docker run -p 26381:26381 --name sentinel3 -v /etc/redis-sentinel:/usr/local/etc/redis -v /var/tmp/sentinel3.log:/var/tmp/sentinel.log -d redis redis-sentinel /usr/local/etc/redis/sentinel3.conf

5.查看3个哨兵的状态

docker ps

6.进入某个sentinel 查看

docker exec -it sentinel3 /bin/bash

redis-cli -p 26381

info sentinel

7.大功告成 开始验证

关闭:docker stop redis-6379

需要过会 再次查看 发现地址变了:
#超过5秒master还没有连接上,则认为master已经停止
sentinel down-after-milliseconds mymaster 5000

查看:info sentinel?

文章来源:https://blog.csdn.net/myy2012/article/details/135146943
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。