📖 Scenario: You are setting up a Redis cluster to distribute data across multiple Redis nodes for better performance and reliability in a real-world web application.
🎯 Goal: Build a Redis cluster configuration by defining the nodes, setting cluster-enabled to yes, and assigning ports to each node.
📋 What You'll Learn
Create configuration files for three Redis nodes with cluster enabled
Assign ports 7000, 7001, and 7002 to the nodes
Set cluster-config-file for each node
Add cluster-node-timeout configuration
💡 Why This Matters
🌍 Real World
Redis clusters are used in production to scale Redis horizontally and provide high availability for caching and real-time data storage.
💼 Career
Understanding Redis cluster setup is important for roles in backend development, DevOps, and system administration managing scalable data stores.
Progress0 / 4 steps
1
Create Redis node configuration files
Create three Redis configuration files named 7000.conf, 7001.conf, and 7002.conf. Each file should have port set to the respective port number: 7000, 7001, and 7002.
Redis
Hint
Each configuration file must specify the port number using the port directive.
2
Enable cluster mode and set cluster config file
In each Redis configuration file (7000.conf, 7001.conf, 7002.conf), add the line cluster-enabled yes and set cluster-config-file to nodes-7000.conf, nodes-7001.conf, and nodes-7002.conf respectively.
Redis
Hint
Remember to enable cluster mode and specify a unique cluster config file for each node.
3
Set cluster node timeout
Add the line cluster-node-timeout 5000 to each Redis configuration file to set the cluster node timeout to 5000 milliseconds.
Redis
Hint
This setting controls how long a node waits before considering another node unreachable.
4
Complete cluster creation command
Write the Redis CLI command to create the cluster using the three nodes on ports 7000, 7001, and 7002 with the --cluster-replicas 0 option.
Redis
Hint
This command initializes the cluster with the specified nodes and no replicas.
Practice
(1/5)
1. What is the main purpose of creating a Redis cluster?
easy
A. To spread data across multiple servers for better safety and speed
B. To store data only on a single server for simplicity
C. To backup data manually using external tools
D. To increase the size of a single Redis instance
Solution
Step 1: Understand Redis cluster purpose
Redis cluster is designed to distribute data across multiple servers to improve availability and performance.
Step 2: Compare options
Only To spread data across multiple servers for better safety and speed correctly describes spreading data for safety and speed; others are incorrect or unrelated.
Final Answer:
To spread data across multiple servers for better safety and speed -> Option A
Quick Check:
Redis cluster = data spread for safety and speed [OK]
Hint: Redis cluster means data spread across servers [OK]
Common Mistakes:
Thinking cluster stores data on one server only
Confusing cluster with manual backup
Assuming cluster only increases instance size
2. Which of the following is the correct syntax to start creating a Redis cluster with 3 nodes using redis-cli?
easy
A. redis-cli --create cluster 7000 7001 7002
B. redis-cli create cluster 192.168.1.1 192.168.1.2 192.168.1.3
C. redis-cli --cluster create 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000
D. redis-cli cluster start 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000
Solution
Step 1: Recall Redis cluster creation command
The correct command uses 'redis-cli --cluster create' followed by node addresses with ports.
Step 2: Match options with correct syntax
redis-cli --cluster create 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000 matches the correct syntax; others use wrong keywords or formats.
Final Answer:
redis-cli --cluster create 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000 -> Option C
Hint: Use --cluster create with full node addresses [OK]
Common Mistakes:
Omitting --cluster flag
Using 'create cluster' instead of '--cluster create'
Not specifying ports with IPs
3. Given the command: redis-cli --cluster create 10.0.0.1:7000 10.0.0.2:7000 10.0.0.3:7000 --cluster-replicas 1 What will be the effect of the --cluster-replicas 1 option?
medium
A. No replicas will be created; all nodes are masters
B. Each master node will have one replica node for backup
C. Replicas will be created but only for half the nodes
D. Replicas will be created only if manually assigned later
Solution
Step 1: Understand --cluster-replicas option
This option sets how many replica nodes each master will have in the cluster.
Step 2: Interpret the value 1
Setting it to 1 means each master node gets exactly one replica node for redundancy.
Final Answer:
Each master node will have one replica node for backup -> Option B
Quick Check:
--cluster-replicas 1 = one replica per master [OK]
Hint: Replicas number sets backups per master node [OK]
Common Mistakes:
Thinking replicas are optional or manual
Assuming no replicas with --cluster-replicas 1
Confusing replicas with number of masters
4. You run the command: redis-cli --cluster create 192.168.0.1:7000 192.168.0.2:7000 --cluster-replicas 1 and get an error. What is the most likely cause?
medium
A. You must specify the password for each node
B. The IP addresses are invalid for cluster creation
C. The --cluster-replicas option cannot be used with only two nodes
D. You need at least 3 master nodes to create a cluster with replicas
Solution
Step 1: Recall cluster node requirements
Redis cluster requires at least 3 master nodes to function properly.
Step 2: Analyze given nodes and replicas
With only 2 nodes and replicas set to 1, there aren't enough masters to assign replicas.
Final Answer:
You need at least 3 master nodes to create a cluster with replicas -> Option D
Quick Check:
Minimum 3 masters needed for replicas [OK]
Hint: Minimum 3 masters needed for replicas [OK]
Common Mistakes:
Trying to create cluster with too few nodes
Assuming IP format causes error
Forgetting replicas need masters
5. You want to create a Redis cluster with 6 nodes: 3 masters and 3 replicas. Which command correctly achieves this?