Maison >base de données >Redis >Comment créer un cluster de réplication Redis
1. Serveur (ou serveur cloud) basé sur le système centos7 ;
2 Package d'installation Redis
En raison de limitations de ressources, cet article sera construit sur un serveur via différents numéros de port Distinguer ;
1. Téléchargez le package d'installation redis dans le répertoire spécifié (et décompressez-le)
2 Créez trois répertoires dans le répertoire actuel
Dans le répertoire actuel, créez respectivement 7001 et 7002, 7003. trois répertoires de fichiers
3. Copiez le fichier de configuration redis.conf sous le package de décompression redis dans les trois répertoires respectivement
4. Modifiez le numéro de port par défaut de chaque fichier de configuration, le stockage des données. Le répertoire
peut être remplacé et modifié par lots à l'aide de la commande sed
sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf sed -i -e 's/6379/7002/g' -e 's/dir .\//dir \/tmp\/7002\//g' 7002/redis.conf sed -i -e 's/6379/7003/g' -e 's/dir .\//dir \/tmp\/7003\//g' 7003/redis.conf
Après la modification, autant visualiser à volonté un fichier de configuration,
5. instance
La machine virtuelle elle-même a plusieurs adresses IP Afin d'éviter toute confusion future, les informations IP de liaison de chaque instance doivent être spécifiées dans le fichier redis.conf. Le format est le suivant :
replica-announce-. ip L'adresse IP actuelle
peut toujours être utilisée Modifier par modification par lots
sed -i '1a replica-announce-ip 当前IP' 7001/redis.conf sed -i '1a replica-announce-ip 当前IP' 7002/redis.conf sed -i '1a replica-announce-ip 当前IP' 7003/redis.conf
Une fois la modification terminée, vous pouvez la confirmer avec la commande suivante
La modification du fichier de configuration ci-dessus est pratiquement terminée
6. Démarrage du cluster
Démarrez 3 instances séparément, le processus de démarrage est le suivant :
Instance 7001 :
Instance 7002 :
7003 instance :
Si vous souhaitez l'arrêter en un clic, vous pouvez exécuter la commande suivante :
printf '%s\n' 7001 7002 7003 | xargs -I{} -t redis-cli -p {} shutdown
7. Configurez la relation maître-esclave entre 3 instances
Trois instances sont démarrées ci-dessus, mais il n'y a pas de maître. -relation esclave entre eux Pour configurer le maître-esclave, vous pouvez utiliser la commande replicaof ou slaveof (avant 5.0).
Il existe deux modes : temporaire et permanent :
Modifier le fichier de configuration (permanent), ajouter une ligne de configuration dans redis.conf : slaveof
Ici, afin de démontrer l'effet, nous utilisons la deuxième méthode pour expliquer , via la commande redis-cli pour vous connecter à 7002, exécutez la commande suivante :
redis-cli -p 7002
SLAVEOF 127.0.0.1 7001Au moment où vous terminez la commande ci-dessus, vous pouvez voir les informations de sortie des deux consoles d'instance de 7001 et 7002, et vous pouvez voir que 7002 est terminé. Connexion au 7001 et synchronisation des données Utilisez la même méthode pour vous connecter au client 7003 et effectuez les opérations ci-dessus Connectez-vous au client 7001, exécutez la commande info pour afficher les informations du cluster et consultez les informations suivantes, indique que le cluster est construit avec succès
8 Test du cluster
Connectez le client sur 7001 et définissez une clé, puis vérifiez. 7002
Mais si une clé est définie sur 7002 ou 7003, une erreur sera signalée, c'est-à-dire que le nœud esclave n'a pas l'autorisation d'écriture;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!