Bird
Raised Fist0
Redisquery~30 mins

Failover manual process in Redis - Mini Project: Build & Apply

Choose your learning style10 modes available
Manual Failover Process in Redis
📖 Scenario: You are managing a Redis setup with one master and two replicas. Sometimes the master server can go down, and you need to manually promote a replica to become the new master to keep your application running smoothly.
🎯 Goal: Learn how to perform a manual failover in Redis by promoting a replica to master and reconfiguring other replicas to follow the new master.
📋 What You'll Learn
Create a list of Redis nodes with their roles and IP addresses
Define the current master node IP
Write commands to promote a replica to master manually
Update other replicas to follow the new master
💡 Why This Matters
🌍 Real World
In real Redis deployments, manual failover is sometimes necessary when automatic failover fails or is not configured. This project simulates the commands and steps needed to perform manual failover.
💼 Career
Understanding manual failover helps database administrators and DevOps engineers maintain high availability and reliability of Redis services in production environments.
Progress0 / 4 steps
1
Setup Redis nodes list
Create a list called redis_nodes containing dictionaries for three Redis nodes with these exact entries: {'ip': '192.168.1.10', 'role': 'master'}, {'ip': '192.168.1.11', 'role': 'replica'}, and {'ip': '192.168.1.12', 'role': 'replica'}.
Redis
Hint

Use a Python list with dictionaries for each Redis node.

2
Define current master IP
Create a variable called current_master_ip and set it to the string '192.168.1.10' to represent the current master node IP.
Redis
Hint

Assign the IP of the master node to current_master_ip.

3
Promote a replica to master
Write a command string called promote_command that uses the Redis CLI command redis-cli -h 192.168.1.11 SLAVEOF NO ONE to promote the replica at IP 192.168.1.11 to master.
Redis
Hint

Use the exact Redis CLI command string to promote the replica.

4
Reconfigure other replicas to follow new master
Create a list called replica_follow_commands containing the Redis CLI commands to make the replica at IP 192.168.1.12 follow the new master at IP 192.168.1.11. The command should be redis-cli -h 192.168.1.12 SLAVEOF 192.168.1.11 6379.
Redis
Hint

Put the exact command string inside a list called replica_follow_commands.

Practice

(1/5)
1. What is the main purpose of performing a manual failover in a Redis cluster?
easy
A. To upgrade Redis to a new version automatically
B. To delete all data from the Redis cluster
C. To switch the Redis master to a backup to keep the service running
D. To backup Redis data to an external storage

Solution

  1. Step 1: Understand failover purpose

    Failover is used to switch the master node to a backup node when the master fails or needs maintenance.
  2. Step 2: Identify the correct purpose

    The goal is to keep the Redis service running without interruption by promoting a backup to master.
  3. Final Answer:

    To switch the Redis master to a backup to keep the service running -> Option C
  4. Quick Check:

    Failover = switch master to backup [OK]
Hint: Failover means switching master to backup to avoid downtime [OK]
Common Mistakes:
  • Confusing failover with data backup
  • Thinking failover upgrades Redis automatically
  • Assuming failover deletes data
2. Which command syntax is correct to trigger a manual failover on a Redis cluster node?
easy
A. redis-cli --failover cluster
B. redis-cli failover --cluster
C. redis-cli cluster --failover node
D. redis-cli --cluster failover

Solution

  1. Step 1: Recall the correct command format

    The correct syntax to trigger manual failover is using the cluster option with failover and the node ID.
  2. Step 2: Match the syntax

    Only redis-cli --cluster failover <node-id> matches the official Redis command format.
  3. Final Answer:

    redis-cli --cluster failover <node-id> -> Option D
  4. Quick Check:

    Correct failover command = redis-cli --cluster failover [OK]
Hint: Failover command starts with 'redis-cli --cluster failover' [OK]
Common Mistakes:
  • Mixing order of command options
  • Using failover without --cluster
  • Incorrect placement of node-id
3. Given the command redis-cli --cluster failover 07c37dfeb2352e03a5a5a3b8f8f8f8f8f8f8f8f8 is executed, what is the expected result?
medium
A. The cluster will shut down immediately
B. The specified node is promoted to master if it is a replica
C. The command will return a syntax error
D. The node will be removed from the cluster

Solution

  1. Step 1: Understand the failover command effect

    The command triggers a manual failover on the specified node, promoting it to master if it is a replica.
  2. Step 2: Eliminate incorrect outcomes

    The cluster does not shut down, no syntax error occurs, and the node is not removed by this command.
  3. Final Answer:

    The specified node is promoted to master if it is a replica -> Option B
  4. Quick Check:

    Failover promotes replica to master [OK]
Hint: Failover promotes replica node to master, no shutdown [OK]
Common Mistakes:
  • Thinking failover shuts down cluster
  • Expecting syntax error on correct command
  • Assuming node removal happens
4. You run redis-cli --cluster failover without specifying a node ID. What is the likely outcome?
medium
A. The command returns an error about missing node ID
B. Manual failover is triggered on all nodes
C. The cluster automatically selects a node for failover
D. The command silently does nothing

Solution

  1. Step 1: Check command requirements

    The failover command requires a node ID to specify which node to promote.
  2. Step 2: Predict command behavior without node ID

    Without the node ID, the command will return an error indicating the missing argument.
  3. Final Answer:

    The command returns an error about missing node ID -> Option A
  4. Quick Check:

    Missing node ID causes error [OK]
Hint: Failover needs node ID; missing it causes error [OK]
Common Mistakes:
  • Assuming failover runs on all nodes
  • Expecting automatic node selection
  • Thinking command does nothing silently
5. After triggering a manual failover with redis-cli --cluster failover <node-id>, what is the best practice to ensure the cluster is stable?
hard
A. Confirm the new master node is ready to serve data
B. Immediately restart all cluster nodes
C. Delete the old master node from the cluster
D. Run a full data backup before any verification

Solution

  1. Step 1: Understand post-failover steps

    After failover, the new master must be confirmed to be ready to serve data to avoid downtime or data loss.
  2. Step 2: Evaluate other options

    Restarting all nodes or deleting old master is unnecessary and risky; backup is good but not immediate priority.
  3. Final Answer:

    Confirm the new master node is ready to serve data -> Option A
  4. Quick Check:

    Verify new master readiness after failover [OK]
Hint: Always check new master readiness after failover [OK]
Common Mistakes:
  • Restarting cluster unnecessarily
  • Deleting old master prematurely
  • Ignoring verification step
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard