Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis master在docker环境中成为另一个master的奴隶_Redis_Redis Sentinel - Fatal编程技术网

Redis master在docker环境中成为另一个master的奴隶

Redis master在docker环境中成为另一个master的奴隶,redis,redis-sentinel,Redis,Redis Sentinel,我已经为redis sentinel配置了一个主设备和两个从设备 让我们把这三台机器的设置称为集群 我有很多集群运行在很多docker容器上。 在运行时,我管理redis.conf文件和sentinal.conf文件中的IP 我的问题是; 群集1上的主节点以某种方式成为群集2主节点的从属节点。 在Cluster-1主节点上,我关闭了redis和sentinel服务,删除了6379的slaveof,然后用编辑好的conf文件重新启动了redis服务 当我启动redis服务时,它再次成为cluste

我已经为redis sentinel配置了一个主设备和两个从设备

让我们把这三台机器的设置称为集群

我有很多集群运行在很多docker容器上。 在运行时,我管理redis.conf文件和sentinal.conf文件中的IP

我的问题是; 群集1上的主节点以某种方式成为群集2主节点的从属节点。 在Cluster-1主节点上,我关闭了redis和sentinel服务,删除了6379的slaveof,然后用编辑好的conf文件重新启动了redis服务

当我启动redis服务时,它再次成为cluster-2主redis的从机

我尝试从redis cli中删除任何人,但几秒钟后,节点再次变为从属节点

所有这些都是在没有启动哨兵服务的情况下发生的

这里发生了什么?是否还有其他条目需要删除

redis.conf

bind 0.0.0.0


protected-mode no

port 6379

tcp-backlog 511


timeout 0

tcp-keepalive 300


daemonize no

supervised no

pidfile "/var/run/redis_6379.pid"

loglevel notice

logfile "/var/log/redis.log"
databases 16


save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename "dump.rdb"

dir "/"



slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5



repl-disable-tcp-nodelay no
slave-priority 100                                                                                                    

appendonly no


appendfilename "appendonly.aof"


appendfsync everysec


no-appendfsync-on-rewrite no


auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes


lua-time-limit 5000
slowlog-log-slower-than 10000

slowlog-max-len 128


latency-monitor-threshold 0


notify-keyspace-events ""


hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10

aof-rewrite-incremental-fsync yes
slaveof 192.168.60.38 6379 #this comes back again and again

对于任何面临同样问题的人

Sentinel设计用于自动检测同一网络中的其他Sentinel
因此,集群1和集群2哨兵都能够相互联系

Cluster-1的哨兵变得不忠(双关语),并重写了Cluster-1 redis的redis配置,使其成为Cluster-2主redis的奴隶

可能的解决办法
1.在每个redis设置之间使用唯一的密码<将使用redis配置中的code>requirepass。
2.阻止不同redis群集之间的通信。

3.不要同时使用哨兵

sentinel配置文件可能会为您提供线索。因为他们可能有现有主人和奴隶的详细信息。@NipunTalukdar我杀死了哨兵服务并删除了文件。所有这些都是在没有启动哨兵的情况下发生的。