Redis Sentinel Configuration for High Availability
📖 Scenario: You are setting up a Redis system that needs to stay online even if the main Redis server fails. To do this, you will configure Redis Sentinel, which watches over Redis servers and helps switch to a backup if the main one stops working.
🎯 Goal: Build a basic Redis Sentinel configuration that monitors a Redis master server and is ready to handle failover automatically.
📋 What You'll Learn
Create a Redis master server configuration with a specific name and port
Set up a Sentinel configuration file that monitors the Redis master server
Configure the Sentinel with quorum and failover timeout settings
Add a notification script path to the Sentinel configuration
💡 Why This Matters
🌍 Real World
Redis Sentinel is used in real systems to keep Redis databases available even if the main server crashes, ensuring apps keep working without interruption.
💼 Career
Knowing how to configure Redis Sentinel is important for roles like DevOps engineers, backend developers, and system administrators who manage reliable data storage.
Progress0 / 4 steps
1
Create Redis master server configuration
Create a Redis configuration file named redis.conf with the following settings: set port 6379 and bind 127.0.0.1.
Redis
Hint
Use two lines: one for port and one for bind.
2
Create Sentinel configuration to monitor master
Create a Sentinel configuration file named sentinel.conf and add a line to monitor the Redis master server with name mymaster, IP 127.0.0.1, and port 6379.
Redis
Hint
The number 1 is the quorum for failover.
3
Configure Sentinel quorum and failover timeout
In sentinel.conf, add lines to set sentinel down-after-milliseconds mymaster 5000 and sentinel failover-timeout mymaster 10000.
Redis
Hint
These settings tell Sentinel how long to wait before marking the master as down and how long to wait for failover.
4
Add notification script to Sentinel configuration
In sentinel.conf, add a line to set sentinel notification-script mymaster /path/to/notify.sh to run a notification script on events.
Redis
Hint
This script will be called by Sentinel when important events happen.
Practice
(1/5)
1. What is the main purpose of Redis Sentinel in a Redis setup?
easy
A. To provide a graphical user interface for Redis
B. To store data persistently on disk
C. To monitor Redis servers and perform automatic failover if the master fails
D. To increase the speed of Redis queries
Solution
Step 1: Understand Sentinel's role
Redis Sentinel monitors Redis servers to detect failures.
Step 2: Identify failover capability
Sentinel automatically switches to a backup server if the master fails.
Final Answer:
To monitor Redis servers and perform automatic failover if the master fails -> Option C
Quick Check:
Sentinel = automatic failover [OK]
Hint: Sentinel watches and switches masters automatically [OK]
Common Mistakes:
Confusing Sentinel with data storage
Thinking Sentinel speeds up queries
Assuming Sentinel provides UI
2. Which of the following is the correct syntax to configure a Redis Sentinel to monitor a master named mymaster on IP 192.168.1.100 and port 6379?
easy
A. sentinel monitor mymaster 192.168.1.100 6379 2
B. monitor sentinel mymaster 192.168.1.100 6379 2
C. sentinel set mymaster 192.168.1.100 6379 2
D. sentinel watch mymaster 192.168.1.100 6379 2
Solution
Step 1: Recall Sentinel monitor command format
The correct command starts with sentinel monitor followed by master name, IP, port, and quorum.
Step 2: Match the correct syntax
sentinel monitor mymaster 192.168.1.100 6379 2 matches the correct order and keywords.
Final Answer:
sentinel monitor mymaster 192.168.1.100 6379 2 -> Option A
Quick Check:
sentinel monitor = correct syntax [OK]
Hint: Sentinel monitor command starts with 'sentinel monitor' [OK]
Common Mistakes:
Swapping 'monitor' and 'sentinel'
Using 'set' or 'watch' instead of 'monitor'
Incorrect order of parameters
3. Given the following Sentinel configuration snippet:
What does the down-after-milliseconds setting specify?
medium
A. The time Sentinel waits before declaring the master as down
B. The time Redis waits before accepting writes
C. The timeout for client connections to Redis
D. The time Sentinel waits before starting a failover
Solution
Step 1: Understand 'down-after-milliseconds'
This setting defines how long Sentinel waits to consider the master unreachable.
Step 2: Differentiate from failover timeout
Failover timeout is different; it controls failover duration, not detection.
Final Answer:
The time Sentinel waits before declaring the master as down -> Option A
Quick Check:
down-after-milliseconds = detection wait time [OK]
Hint: 'down-after-milliseconds' means detection delay [OK]
Common Mistakes:
Confusing with failover timeout
Thinking it affects client connections
Assuming it controls Redis write delay
4. You have this Sentinel configuration line:
sentinel monitor mymaster 10.0.0.1 6379
What is wrong with this configuration?
medium
A. IP address format is incorrect
B. Master name should be 'master' not 'mymaster'
C. Port number should be 6380 for Sentinel
D. Missing the quorum number at the end
Solution
Step 1: Check required parameters for sentinel monitor
The command requires master name, IP, port, and quorum number.
Step 2: Identify missing quorum
The quorum number (minimum votes to failover) is missing in the line.
Final Answer:
Missing the quorum number at the end -> Option D
Quick Check:
Quorum number required in sentinel monitor [OK]
Hint: Sentinel monitor needs quorum number last [OK]
Common Mistakes:
Ignoring quorum number
Changing port unnecessarily
Assuming master name must be 'master'
5. You want to configure Redis Sentinel to monitor a master and automatically failover if it is down. Which combination of settings is necessary to ensure Sentinel detects failure quickly and performs failover within 1 minute?
hard
A. Set down-after-milliseconds to 60000 only
B. Set down-after-milliseconds to 5000 and failover-timeout to 60000
C. Set failover-timeout to 5000 only
D. Set down-after-milliseconds to 60000 and failover-timeout to 5000
Solution
Step 1: Understand 'down-after-milliseconds'
This controls how fast Sentinel marks master as down; 5000 ms means 5 seconds.
Step 2: Understand 'failover-timeout'
This controls how long failover can take; 60000 ms means 60 seconds (1 minute).
Step 3: Combine settings for quick detection and failover
Setting down-after-milliseconds to 5000 and failover-timeout to 60000 ensures detection in 5 seconds and failover within 1 minute.
Final Answer:
Set down-after-milliseconds to 5000 and failover-timeout to 60000 -> Option B
Quick Check:
Fast detection + 1 min failover = Set down-after-milliseconds to 5000 and failover-timeout to 60000 [OK]
Hint: Fast detection needs low down-after; failover-timeout sets max failover time [OK]
Common Mistakes:
Swapping values of down-after and failover-timeout
Setting only one parameter
Using too high down-after-milliseconds
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.