Redis群集模式-副本不起作用

时间:2020-07-14 21:05:55

标签: spring-boot redis spring-data-redis

我试图按照本教程设置redis集群。

https://redis.io/topics/cluster-tutorial

我能够通过使用类似的东西来进行设置。

redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 \
--cluster-replicas 1

3个原版和3个副本。群集状态显示为“正常”和“向上”。

让我们考虑

  • a1是主数据库,对应的副本是b1
  • a2是主数据库,对应的副本b2
  • a3是主数据库,对应的副本b3

所有插槽均平均分配给3个主机。我加了一把钥匙。例如,

Set "a" "a"

我们还要假设它按照插槽进入a2。我在a2中看到了。

但是我看不到b2中有重复的内容。是什么原因?我再次检查了我是否正确检查了对应的副本。实际上,副本节点b1,b2,b3均未复制任何密钥。

Cluster nodes显示了此内容

114265674babd48842e2740e605ad0befa4e2f6b 192.168.224.6:6379@16379 slave eca661b39de5903aba3f495f941fa4025a968b55 0 1594860801511 4 connected
39fe499da446216124c28e0846f6d2fa711a5947 192.168.224.8:6379@16379 myself,slave d7ad5bbb986fb036b51e278739932fd704a91713 0 1594860802000 6 connected
eca661b39de5903aba3f495f941fa4025a968b55 192.168.224.4:6379@16379 master - 0 1594860802512 3 connected 10923-16383
e367fb2a13e5027e657d2c7af50d462c57b14d0b 192.168.224.2:6379@16379 master - 0 1594860802000 1 connected 0-5460
f1296f1b4229d18e463cdde898fdc55b0ee31fa9 192.168.224.7:6379@16379 slave e367fb2a13e5027e657d2c7af50d462c57b14d0b 0 1594860802010 5 connected
d7ad5bbb986fb036b51e278739932fd704a91713 192.168.224.3:6379@16379 master - 0 1594860803013 2 connected 5461-10922

cluster info显示了此内容

cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:2
cluster_stats_messages_ping_sent:6942
cluster_stats_messages_pong_sent:6817
cluster_stats_messages_meet_sent:4
cluster_stats_messages_sent:13763
cluster_stats_messages_ping_received:6815
cluster_stats_messages_pong_received:6946
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:13763

注意:

我为此使用docker。 vm.overcommit_memory在主机级别设置为1

1 个答案:

答案 0 :(得分:0)

如果您使用docker-最好使用bitnami-docker-redis Docker映像。

有关详细信息,也请参见此线程How to create redis-cluster in docker based environment

另一个选择:Redis replication on docker-compose