docker Redis单机主从哨兵模式切换失败

docker Redis单机主从哨兵模式切换失败
我用docker映射三个端口6379、6380、6381作为一主二从三个Redis实例,26379、26380、26382作为三台哨兵sentinel。搭建完成后主从模式是生效的,向主机写入、删除数据,从机也会同步进行,但是哨兵模式没有生效。下图是主机和从机的信息:
在这里插入图片描述
在这里插入图片描述

感觉状态端口啥的都能实现,功能也没什么问题。

我生成sentinel容器的docker指令:
sentinel01:

docker run -it --name redis-sentinel01 -p 26379:26379 -v /usr/local/tangv/redis/sentinel/sentinel01.conf:/usr/local/etc/redis/sentinel.conf -v /usr/local/tangv/redis/sentinel/redis-sentinel01.log:/var/log/redis/sentinel.log -d redis /bin/bash

sentinel02:

docker run -it --name redis-sentinel02 -p 26380:26379 -v /usr/local/tangv/redis/sentinel/sentinel02.conf:/usr/local/etc/redis/sentinel.conf -v /usr/local/tangv/redis/sentinel/redis-sentinel02.log:/var/log/redis/sentinel.log -d redis /bin/bash

sentinel03:

docker run -it --name redis-sentinel03 -p 26381:26379 -v /usr/local/tangv/redis/sentinel/sentinel03.conf:/usr/local/etc/redis/sentinel.conf -v /usr/local/tangv/redis/sentinel/redis-sentinel03.log:/var/log/redis/sentinel.log -d redis /bin/bash

下面是重点:三台sentinel启动后,我kill了主机进程,6379下线了,但是sentinel没能选举出从机提升为主机,查看日志,好像已经监控到主机down机,选举了一个进行切换的sentinel,但是在选择从机提升的时候没有成功,可能是没有找到从机和主机的对应关系。

这是sentinel slaves redis-master指令查看监控的从机信息,没有识别到主机ip端口等:
在这里插入图片描述

docker Redis单机主从哨兵模式切换失败
sentinel master redis-master查看好像没什么问题:
在这里插入图片描述

docker Redis单机主从哨兵模式切换失败
日志打印是选举从机没有成功:
在这里插入图片描述

docker Redis单机主从哨兵模式切换失败
每台sentinel的配置:

port 26379(每台不一样)

daemonize yes

pidfile /var/run/redis-sentinel.pid

logfile “/var/log/redis/sentinel.log”

sentinel announce-ip 172.17.203.***(配不配之都不行)

sentinel announce-port 26379(配不配置都不行)

sentinel monitor redis-master 172.17.203.*** 6379 2

sentinel auth-pass redis-master aaa123

requirepass aaa123

其他是默认配置。

redis.conf配置的话:

主机:

bind 127.0.0.1(注释了,#没显示出来)

protected-mode no

port 6379

daemonize yes

pidfile /var/run/redis_6380.pid(6381)

logfile “/usr/log/redis-master.log”

masterauth aaa123

replica-announce-ip 172.17.203.***(配不配置都试过)

requirepass aaa123

从机:

bind 127.0.0.1(注释了,#没显示出来)

protected-mode no

port 6380(6381)

daemonize yes

logfile “/usr/log/redis-slave01.log”(slave02)

replicaof 172.17.203.*** 6379

masterauth aaa123

replica-announce-ip 172.17.203.***(配不配置都试过)

requirepass aaa123

网上找了很多方法都没能解决问题,有没有大佬帮忙看一下,感谢!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值