Maison > Article > base de données > Tutoriel pour débutants sur la création de clusters Redis
(Partage vidéo d'apprentissage : tutoriel vidéo redis)
Avant d'introduire le contenu formel , commençons par présenter les étapes de création de la version autonome de Redis.
redis est un système de stockage de valeurs clés open source qui a été favorisé par la faveur d'Internet. de l'entreprise. Avant la version 3.0 de Redis, il ne prenait en charge que le mode singleton et ne prenait en charge que les clusters dans la version 3.0 et ultérieure. J'utilise ici la version 3.0.0
2.1 Le cluster Redis nécessite au moins 3 nœuds, car le mécanisme de tolérance aux pannes de vote nécessite que plus de la moitié des nœuds pensent que un certain nœud est en panne, il est en panne, donc 2 nœuds ne peuvent pas former un cluster. 2.2 Pour assurer la haute disponibilité du cluster, chaque nœud doit disposer d'un nœud esclave, c'est-à-dire un nœud de sauvegarde, le cluster Redis nécessite donc au moins 6 serveurs. Parce que je n'ai pas beaucoup de serveurs et que je ne peux pas démarrer autant de machines virtuelles, donc ce que je construis ici est un cluster pseudo-distribué, c'est-à-dire qu'un serveur exécute virtuellement 6 instances Redis et que le numéro de port est modifié à (7001-7006). Bien sûr, l'environnement de production réel. La configuration du cluster Redis est la même qu'ici. 2.3 Installer Ruby
3. Les étapes spécifiques pour créer un cluster sont les suivantes (remarque pour désactiver le pare-feu)
3.1 Créez un nouveau répertoire redis-cluster dans le fichier usr/ répertoire local pour stocker les nœuds du cluster
3.2 Copiez tous les fichiers du répertoire bin sous le répertoire redis dans le répertoire /usr/local/redis-cluster/redis01. Ne vous inquiétez pas, il n'y a pas de redis01. répertoire ici, il sera créé automatiquement. La commande d'opération est la suivante (notez le chemin actuel) :
cp -r redis/bin/ redis-cluster/redis01
3.3 Supprimez le fichier d'instantané dump.rdb dans le répertoire redis01 et modifiez le fichier redis.cnf dans le répertoire Plus précisément, modifiez deux endroits : l'un consiste à changer le numéro de port en 7001, et l'autre est d'ouvrir. En mode création de cluster, ouvrez simplement les commentaires. Comme le montre la figure ci-dessous :
Supprimez le fichier dump.rdb
Modifiez le numéro de port en 7001, la valeur par défaut est 6379
Ouvrez le commentaire du cluster -enabled yes
3.4 Copiez 5 copies du fichier redis-cluster/redis01 dans le répertoire redis-cluster (redis02-redis06), créez 6 instances redis et simulez 6 nœuds du cluster Redis. Modifiez ensuite les numéros de port dans redis.conf sous les cinq fichiers restants en 7002-7006 respectivement. Comme le montre la figure ci-dessous :
Créez le répertoire redis02-06
Modifiez le numéro de port du fichier redis.conf en 7002-7006 respectivement
3.5 Puis démarrez Comme démarrer tous les nœuds Redis un par un est trop compliqué, voici un fichier de script pour démarrer les nœuds Redis par lots. La commande est start-all.sh Le contenu du fichier est le suivant :
cd redis01 ./redis-server redis.conf cd .. cd redis02 ./redis-server redis.conf cd .. cd redis03 ./redis-server redis.conf cd .. cd redis04 ./redis-server redis.conf cd .. cd redis05 ./redis-server redis.conf cd .. cd redis06 ./redis-server redis.conf cd ..<.>3.6 Créer le fichier de script de démarrage Après cela, vous devez modifier les autorisations du script pour qu'il puisse être exécuté. Les instructions sont les suivantes :
chmod +x start-all.sh
<.>
3.7 Exécutez le script start-all.sh pour démarrer 6 nœuds redis
3.8 ok jusqu'à présent, 6 nœuds redis ont été démarrés avec succès. Ensuite, le cluster sera officiellement lancé. Ce qui précède sont les conditions préparatoires. Ne pensez pas que ce soit gênant car les images semblent longues. En fait, les étapes ci-dessus ne sont qu'une phrase : créez 6 instances Redis (6 nœuds) et démarrez-les. Pour construire un cluster, vous devez utiliser un outil (fichier script), qui se trouve dans le code source du fichier de décompression redis. Étant donné que cet outil est un fichier de script Ruby, l'exécution de cet outil nécessite un environnement d'exécution Ruby, ce qui équivaut à l'exécution du langage Java sur la JVM. Vous devez donc installer Ruby. Les instructions sont les suivantes :
yum install ruby
Installez le package Ruby sur le serveur : vous devez d'abord le télécharger puis l'installer, comme indiqué sur la figure
La commande d'installation est la suivante :
gem install redis-3.0.0.gem
3.9 À l'étape précédente, l'environnement d'exécution et le package Ruby requis par l'outil Ruby ont été installés. Ensuite, vous devez copier le Ruby . outil de script dans le répertoire usr/local/redis-cluster. Alors, où est cet outil de script Ruby ? Comme mentionné précédemment, dans le code source du fichier de décompression redis, c'est-à-dire le fichier redis-trib.rb dans le répertoire redis/src.
3.10 Copiez l'outil ruby (redis-trib.rb) dans le répertoire redis-cluster Les instructions sont les suivantes :
cp redis-trib.rb /usr/local/redis-cluster
./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:7006
Il y a un endroit où vous devez saisir manuellement oui
À ce stade, le cluster Redi est construit avec succès ! Veuillez faire attention au dernier paragraphe du texte, qui montre les emplacements (emplacements de hachage) attribués à chaque nœud. Il y a un total de 6 nœuds ici, dont 3 sont des nœuds esclaves, donc les 3 nœuds maîtres sont mappés 0-5460, 5461. -10922, 10933-16383solts.
3.11 Enfin, connectez le nœud du cluster, connectez-vous simplement à n'importe lequel :
redis01/redis-cli -p 7001 -c
注意:一定要加上-c,不然节点之间是无法自动跳转的!如下图可以看到,存储的数据(key-value)是均匀分配到不同的节点的:
四、结语
呼~~~长舒一口气…终于搭建好了Redis集群。
整个过程其实挺简单,本篇主要正对入门级别的小伙伴,插入了很多图片,所以显得冗长,希望大家多多理解,如果不当之处,还望及时指正~
最后,加上两条redis集群基本命令:
1.查看当前集群信息
cluster info
2.查看集群里有多少个节点
cluster nodes
相关推荐:redis数据库教程
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!