Install Redis on each node and configure the Redis configuration file (redis.conf) on each node as follows:
yaml
Copy code
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
Start Redis on each node using the following command:
redis-server /path/to/redis.conf
Initialize the cluster by creating a cluster map and assigning slots to the nodes using the following command on one of the nodes:
redis-cli --cluster create node1:6379 node2:6379 node3:6379 --cluster-replicas 1
This command creates a cluster with three nodes (node1, node2, and node3) and one replica node for each primary node. It also assigns 16384 hash slots to the nodes.
Test the cluster by performing read and write operations on the nodes using the following commands:
redis-cli -c set key value
redis-cli -c get key
The -c option tells Redis to use cluster mode and automatically route the commands to the correct node.
Monitor the cluster using the following command:
redis-cli --cluster check node1:6379
This command checks the consistency of the cluster by verifying the cluster map and slot allocation on each node.
Scale the cluster by adding more nodes using the following command:
redis-cli --cluster add-node newnode:6379 existingnode:6379 --cluster-slave --cluster-master-id
This command adds a new node (newnode) to the cluster and assigns it as a replica node for an existing primary node (existingnode). The --cluster-master-id option specifies the ID of the primary node.
These are the basic steps to configure a Redis cluster. Remember to always test and monitor the cluster to ensure high availability, fault tolerance, and performance.