redis哨兵主从不切换_docker Redis单机主从哨兵模式切换失败

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

b5c63924892047b87bf641671370f327.png
02cddf4684644b697c08bb6749d686f0.png

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

我生成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端口等:

c122eee1e87b60b4eb5da4c70cdc609e.png

sentinel master redis-master查看好像没什么问题:

a97793d3085735d8221a58d3755ca3bd.png

日志打印是选举从机没有成功:

3e5af703e47f78d1907e622e4436e87c.png

每台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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值