2

so I have this kind of docker-compose

version: '3.8' x-base: &base image: redis:latest x-base-sen: &base-sen image: redis:latest command: redis-sentinel /sentinel/sentinel.conf --protected-mode no services: redis1: <<: *base hostname: redis1 container_name: redis-master command: redis-server --replica-announce-ip redis1 --slave-announce-ip redis1 --protected-mode no redis2: <<: *base hostname: redis2 container_name: redis-slave1 command: redis-server --slaveof redis1 6379 --replica-announce-ip redis2 --slave-announce-ip redis2 --protected-mode no redis3: <<: *base hostname: redis3 container_name: redis-slave2 command: redis-server --slaveof redis1 6379 --replica-announce-ip redis3 --slave-announce-ip redis3 --protected-mode no sentinel1: <<: *base-sen hostname: sentinel1 container_name: redis-sentinel1 volumes: - ./sentinel1:/sentinel depends_on: - redis1 - redis2 - redis3 sentinel2: <<: *base-sen hostname: sentinel2 container_name: redis-sentinel2 volumes: - ./sentinel2:/sentinel depends_on: - redis1 - redis2 - redis3 sentinel3: <<: *base-sen hostname: sentinel3 container_name: redis-sentinel3 volumes: - ./sentinel3:/sentinel depends_on: - redis1 - redis2 - redis3 

and this is my sentinel.conf file

port 26379 dir "/tmp" sentinel monitor redismaster redis1 6379 2 sentinel down-after-milliseconds redismaster 3000 sentinel failover-timeout redismaster 6000 sentinel resolve-hostnames yes sentinel announce-hostnames yes sentinel announce-ip "sentinel1" 

and there are different config files and sentinel1 changes for each container. so when I shut the master node down manually I expect that sentinels choose one of the slave nodes to be new master node but i get this kind of logs this is one of my sentinels logs:

1:X 11 Jul 2022 19:13:23.693 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:X 11 Jul 2022 19:13:23.693 # Redis version=7.0.2, bits=64, commit=00000000, modified=0, pid=1, just started 1:X 11 Jul 2022 19:13:23.693 # Configuration loaded 1:X 11 Jul 2022 19:13:23.693 * monotonic clock: POSIX clock_gettime 1:X 11 Jul 2022 19:13:23.694 * Running mode=sentinel, port=26379. 1:X 11 Jul 2022 19:13:23.746 * Sentinel new configuration saved on disk 1:X 11 Jul 2022 19:13:23.746 # Sentinel ID is e12e36307bfb32bf091d20548edbb89b7b54feea 1:X 11 Jul 2022 19:13:23.746 # +monitor master redismaster redis1 6379 quorum 2 1:X 11 Jul 2022 19:13:23.747 * +slave slave redis2:6379 redis2 6379 @ redismaster redis1 6379 1:X 11 Jul 2022 19:13:23.801 * Sentinel new configuration saved on disk 1:X 11 Jul 2022 19:13:23.802 * +slave slave redis3:6379 redis3 6379 @ redismaster redis1 6379 1:X 11 Jul 2022 19:13:23.848 * Sentinel new configuration saved on disk 1:X 11 Jul 2022 19:13:24.192 * +sentinel sentinel 25ae390f472f4768b498cac40828e5f437eb393d sentinel3 26379 @ redismaster redis1 6379 1:X 11 Jul 2022 19:13:24.270 * Sentinel new configuration saved on disk 1:X 11 Jul 2022 19:13:24.572 * +sentinel sentinel 924b19cc7ef47d57e794ff1a87151fbf02451729 sentinel2 26379 @ redismaster redis1 6379 1:X 11 Jul 2022 19:13:24.636 * Sentinel new configuration saved on disk 1:X 11 Jul 2022 19:16:03.202 # Failed to resolve hostname 'redis1' 1:X 11 Jul 2022 19:16:03.202 # +tilt #tilt mode entered 1:X 11 Jul 2022 19:16:13.213 # Failed to resolve hostname 'redis1' 1:X 11 Jul 2022 19:16:23.224 # Failed to resolve hostname 'redis1' 1:X 11 Jul 2022 19:16:33.234 # Failed to resolve hostname 'redis1' 

and this is one of slave nodes logs:

1:S 11 Jul 2022 19:13:18.197 * Successful partial resynchronization with master. 1:S 11 Jul 2022 19:13:18.197 * MASTER <-> REPLICA sync: Master accepted a Partial Resynchronization. 1:S 11 Jul 2022 19:15:50.125 # Connection with master lost. 1:S 11 Jul 2022 19:15:50.125 * Caching the disconnected master state. 1:S 11 Jul 2022 19:15:50.125 * Reconnecting to MASTER redis1:6379 1:S 11 Jul 2022 19:15:50.125 * MASTER <-> REPLICA sync started 1:S 11 Jul 2022 19:15:50.125 # Error condition on socket for SYNC: Connection refused 1:S 11 Jul 2022 19:15:50.970 * Connecting to MASTER redis1:6379 1:S 11 Jul 2022 19:16:00.980 # Unable to connect to MASTER: Resource temporarily unavailable 1:S 11 Jul 2022 19:16:01.983 * Connecting to MASTER redis1:6379 1:S 11 Jul 2022 19:16:11.994 # Unable to connect to MASTER: Resource temporarily unavailable 1:S 11 Jul 2022 19:16:12.997 * Connecting to MASTER redis1:6379 1:S 11 Jul 2022 19:16:23.007 # Unable to connect to MASTER: Resource temporarily unavailable 

1 Answer 1

1

You can see my repo with sentinels fully working https://github.com/helderjnpinto/Redis-Sentinel-Docker-Compose just do docker-compose up

1
  • 1
    when I run docker-compose pause redis-master, a new master is not elected and redis is unavailable Commented Aug 20, 2023 at 9:45

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.