Dans cette étape, vous apprendrez à réaffecter (reshard) des slots dans un cluster Redis à l'aide de la commande redis-cli --cluster reshard
. Ceci est important pour distribuer les données de manière uniforme, en particulier après l'ajout de nouveaux nœuds.
Un cluster Redis divise l'espace de clés (keyspace) en 16384 slots. Chaque nœud maître (master node) est responsable d'un sous-ensemble de ces slots. Lorsque vous ajoutez un nouveau nœud, il ne possède initialement aucun slot. Le resharding déplace les slots des nœuds existants vers le nouveau nœud, équilibrant ainsi les données et la charge de travail.
-
Se connecter au cluster en utilisant redis-cli --cluster
:
Pour effectuer l'opération de resharding, vous utiliserez la commande redis-cli --cluster reshard
. Cette commande fournit un moyen interactif de redistribuer les slots dans le cluster.
Ouvrez votre terminal et exécutez la commande suivante :
redis-cli --cluster reshard 127.0.0.1:7000
Cette commande se connecte au cluster Redis via le nœud à 127.0.0.1:7000
et démarre le processus de resharding.
-
Spécifier le nombre de slots à déplacer :
L'outil redis-cli
vous demandera de saisir le nombre de slots que vous souhaitez déplacer. Pour cet exemple, déplaçons 101 slots vers le nouveau nœud.
How many slots do you want to move? (default: all)
Entrez 101
et appuyez sur Entrée.
-
Entrer l'ID du nœud cible :
Ensuite, l'outil vous demandera d'entrer l'ID du nœud cible, qui est le nouveau nœud que vous avez ajouté à l'étape précédente (port 7006). Pour trouver l'ID du nœud, vous pouvez utiliser la commande CLUSTER NODES
comme indiqué dans les étapes précédentes, ou vous pouvez utiliser la commande suivante pour obtenir l'ID du nœud directement :
redis-cli -h 127.0.0.1 -p 7006 cluster nodes | grep myself | awk '{print $1}'
Copiez l'ID du nœud à partir de la sortie. L'outil redis-cli
vous demandera :
What is the receiving node ID?
Collez l'ID du nœud et appuyez sur Entrée.
-
Spécifier les nœuds sources :
L'outil vous demandera de spécifier les nœuds sources à partir desquels prendre les slots. Vous pouvez entrer all
pour redistribuer les slots de tous les nœuds maîtres existants.
Please enter all the source node IDs.
Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' to stop entering IDs.
Entrez all
et appuyez sur Entrée.
-
Confirmer le plan de resharding :
L'outil redis-cli
affichera le plan de resharding et vous demandera de confirmer.
Do you want to proceed with the reshard plan? (type 'yes' to accept):
Tapez yes
et appuyez sur Entrée pour démarrer le processus de resharding.
-
Attendre la fin du resharding :
L'outil redis-cli
va maintenant déplacer les slots des nœuds sources vers le nœud cible. Ce processus peut prendre un certain temps, en fonction de la quantité de données dans le cluster. Vous verrez des messages de progression au fur et à mesure que les slots sont déplacés.
-
Quitter redis-cli
:
Vous avez maintenant réaffecté avec succès les slots dans votre cluster Redis à l'aide de la commande redis-cli --cluster reshard
. Cela garantit que les données sont plus uniformément réparties dans le cluster, y compris le nouveau nœud.