Tendis
Tendis copied to clipboard
不支持redis的replica-announce-ip配置项,导致容器部署时主从复制失败(unknown node)
- 节点握手
redis-cli -p 9094 -h 192.168.0.11
127.0.0.1:9094> cluster meet 192.168.0.12 9094
127.0.0.1:9094> cluster meet 192.168.0.13 9094
127.0.0.1:9094> cluster meet 192.168.0.14 9094
127.0.0.1:9094> cluster meet 192.168.0.15 9094
127.0.0.1:9094> cluster meet 192.168.0.16 9094
- 握手节点执行cluster nodes没问题
redis-cli -p 9094 -h 192.168.0.11 cluster nodes
20f8df612b19c879c92149458856ec08af50d459 192.168.0.11 myself,master - 0 1606964903000 0 connected 0-5461
4233f87b9899774feb71bcef1cfeec964de0535b 192.168.0.12 master - 0 1606964902996 1 connected 5462-10922
f9d8c3f6679badc6366087d498f005849ad3b14d 192.168.0.13 master - 0 1606964904598 2 connected 10923-16383
b072bdd0f3d6cf75edcee1345da0d33f59177da0 192.168.0.14 master - 0 1606964902996 1 connected
c980e1e23d20e9169aca0cbe7751d8a76b73859f 192.168.0.15 master - 0 1606964904598 2 connected
cd3c5da6415d5c1d125961e0f78badd162c7f7d3 192.168.0.16 master - 0 1606964894000 3 connected
- 其余节点执行cluster nodes有问题,只有一个节点,且为容器内地址
redis-cli -p 9094 -h 192.168.0.12 cluster nodes
42b8c5ff796d0df3f0995e23fed71b6999b74b48 172.18.0.2:9098@19098 myself,master - 0 0 0 connected
- 没有其他节点,导致主从复制失败
redis-cli -p 9094 -h 192.168.0.12 cluster replicate 20f8df612b19c879c92149458856ec08af50d459
(error) ERR:18,msg:Unknown node: 20f8df612b19c879c92149458856ec08af50d459
我这边暂时没有办法重现这个问题,方便提供更多的比如docker网络配置信息或者重现步骤吗。
我这边暂时没有办法重现这个问题,方便提供更多的比如docker网络配置信息或者重现步骤吗。
docker用的网桥模式,被动握手方日志里有报错或警告,说无法连接172.18.0.2(主动握手方的容器ip)
关注一下每个节点配置的bind参数是啥,比如bind配置 127.0.0.1,0.0.0.0,192.168.0.*,172.18.0.*几种情况下,其它节点是否能够连接过来是有区别的。
bind是0.0.0.0。我的理解是如果要其它节点能连过来,那bind应该配宿主机ip也就是192.168.0.*,但这样tendis是无法启动的