Nous savons de la copie maître et le mode autonome Sentinel pour résoudre le problème Redis, mais Redis il y a encore deux questions:
1) toutes les opérations d'écriture sont concentrées sur le serveur principal, la CPU maître relativement grande pression
2) si le serveur principal ou à partir du serveur, ils sont également stockées toutes les Redis de données, car de plus en plus de données, des problèmes peuvent se produire avec suffisamment de mémoire
après la version Redis3.0 supports de cluster Cluste, qui est constitué de plusieurs grappes de noeud maître-esclave distribué batterie de serveurs constitué par une réplication, les données caractéristiques de haute disponibilité et de la fragmentation pour chacun des emplacements de stockage primaire en divisant les données stockées nulle part. Redis cluster ne node pas besoin sentinelle sentinelle est retirée peut compléter la fonctionnalité et le basculement, des besoins de chaque nœud à définir en mode cluster, ce mode est pas le centre des nœuds du cluster, horizontalement évolutive, selon les documents officiels, a déclaré linéaire étendu à 1000 nœuds. La figure ci - dessous une architecture de déploiement du cluster:
configuration cluster
[Redis doux @ k8snode02] $ PWD
/ Accueil / Redis / Doux
[Redis doux @ k8snode02] $ LL
. Total 4
drwxrwxr X-2. 6 Redis Redis Cluster Le 12 février est 03h56
drwxrwxr X-4096. 6 Le 12 février est 03h53 Redis Redis Redis -3.2.1
[@ k8snode02 Redis Cluster] $ Plus ./7777/redis.conf | grep -v '^ $'
include /home/redis/soft/redis-3.2.1/redis.conf
daemonize oui
l'avis LogLevel
logfile " /home/redis/soft/cluster/7777/redis.log "
Port 7777
la liaison 0.0.0.0
dir" / Accueil / Redis / soft / Cluster / 7777 "
appendOnly oui # utilisation persistante de l' AOF
appendFileName" appendonly.aof "
appendfsync everysec
MaxMemory 100 000 000 # Affecte la mémoire maximale 100M
cluster Activé oui # Activer le mode cluster
cluster nœud délai # 15000 temps de délai d' attente de nœud de 15 secondes
maxclients 4064 # nombre maximum de connexions client
carnet de commandes TCP 0-
Cluster-config-fichier "/home/redis/soft/cluster/7777/nodes.conf" dans un fichier de configuration du cluster # générer automatiquement
le PidFile "/home/redis/soft/cluster/7777/redis.pid"
masterauth "123456"
requirepass "123456"
[Redis @ k8snode02 Cluster] $ Plus ./8888/redis.conf | grep -v ^ $ «
la /home/redis/soft/redis-3.2.1/redis.conf comprennent
à daemonize Oui
LogLevel Avis
logfile "/home/redis/soft/cluster/8888/redis.log"
Port 8888
la liaison 0.0.0.0
le répertoire « / home / Redis / soft / Cluster / 8888 "
appendOnly oui
appendFileName" appendonly.aof "
appendfsync everysec
MaxMemory 100000000
cluster activé par oui
cluster nœud-timeout 15000
maxclients 4064
tcp-backlog 0
-fichier de cluster-config "/home/redis/soft/cluster/8888/nodes.conf"
pidfile « / home / Redis / soft / cluster / 8888 / redis.pid »
masterauth "123456"
requirepass "123456"
[Redis @ k8snode02 groupe] $
[@ Redis k8snode02 groupe] $ ll au
total 0
drwxrwxr-x 2 Redis Redis 23 février 12 04:10 7777
drwxrwxr-x 2 Redis Redis 23 février 12 04:12 8888
[Redis @ k8snode02 groupe] $ pwd
/ home / Redis / soft / cluster
[Redis @ k8snode02 groupe] $ scp -r * [email protected]: / home / Redis / soft / cluster / #配置文件拷贝到其他机器
L'authenticité de l' hôte '192.168.23.100 (192.168.23.100)' peut »t être établi.
ECDSA empreinte digitale de la clé est de 64: e7: 8c: 8d: 6a: e1: 21: c5: 04: 78: a1: 4e: 7a: c3: e3: 8d.
Etes - vous sûr que vous voulez continuer à vous connecter (oui / non)? oui
Attention: ajouté de façon permanente « 192.168.23.100 » (ECDSA) à la liste des hôtes connus.
Mot de passe [email protected]'s:
redis.conf 100% 512 0,5 kb / s 00:00
redis.conf 100% 512 0,5 kb / s 00:00
[Redis @ k8snode02 groupe] $ scp -r * [email protected]. 23.101: / home / Redis / soft / cluster / #配置文件拷贝到其他机器
L'authenticité de l' hôte '192.168.23.101 (192.168.23.101)' ne peut être établie.
ECDSA empreinte digitale de la clé est de 64: e7: 8c: 8d: 6a: e1: 21: c5: 04: 78: a1: 4e: 7a: c3: e3: 8d.
Etes - vous sûr que vous voulez continuer à vous connecter (oui / non)? oui
Attention: ajouté de façon permanente « 192.168.23.101 » (ECDSA) à la liste des hôtes connus.
Mot de passe [email protected]'s:
redis.conf 100% 512 0,5 kb / s 00:00
redis.conf 100% 512 0,5 kb / s 00:00
[Redis @ k8snode02 groupe] $
service de départ
[Redis @ k8snode02 src] $ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf
[Redis @ k8snode02 src] $ / home / Redis /soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/8888/redis.conf
[redis@k8snode01 ~]$ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf
[redis@k8snode01 ~]$ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/8888/redis.conf
[redis@k8smaster ~]$ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf
[redis@k8smaster ~]$ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/8888/redis.conf
Structure en relation clusters
[Redis @ k8snode02 src] $ ./redis-cli -h 192.168.23.102 -a -p 7777 123456
192.168.23.102:7777> Information Cluster #redis des cas isolés, il n'y a pas de relation entre un groupe d'entre eux
cluster_state: échec
cluster_slots_assigned: 0
cluster_slots_ok: 0
cluster_slots_pfail: 0
cluster_slots_fail: 0
cluster_known_nodes :. 1
CLUSTER_SIZE: 0
cluster_current_epoch: 0
cluster_my_epoch: 0
cluster_stats_messages_sent: 0
cluster_stats_messages_received: 0
192.168.23.102:7777> nœuds de cluster
72a85ee1b384421e031f59e9e2a24d7eb82fe737: 7777 moi - même, Maître - Connecté 0 0 0
192.168 .23.102: 7777>
192.168.23.102:7777>groupe se rencontrent 192.168.23.102 8888 # sont connectés via la commande se rencontrent groupe d' autres noeuds, de sorte qu'entre les nœuds du cluster associés
OK
192.168.23.102:7777> rencontre du cluster 192.168.23.101 8888
OK
192.168.23.102:7777> groupe se rencontrent 192.168.23.101 7777
OK
192.168.23.102:7777> groupe 192.168.23.100 8888 Rencontrez
OK
192.168.23.102:7777> groupe 192.168.23.100 7777 Rencontrez
OK
192.168.23.102:7777>
192.168.23.102:7777> nœuds de cluster # clusters de configuration d'alimentation complète
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102 :. 7777 moi - même, Maître - Connected 1 0 0
. c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 master - Connected 3 0 1,581,500,730,968
Maître 192.168.23.100:8888 681b511c9ea52b032b197e8e39dc25e6f9edc8ce - 0. 4 1581500736006 connectés
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 Master - 2 0 1,581,500,731,976 Connected
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 Master - 0 0 1581500733991 connectés
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 Master -. 5 0 1,581,500,734,998 connectés
192,168. 23,102: 7777> Info groupe # Bien que la connexion de chaque nœud est connecté avec succès, mais ne peut pas être utilisé, car aucun 16384 emplacements affectés au nœud de cluster
cluster_state: Fail
cluster_slots_assigned: 0
cluster_slots_ok: 0
cluster_slots_pfail: 0
cluster_slots_fail: 0
cluster_known_nodes :. 6
CLUSTER_SIZE: 0
cluster_current_epoch :. 5
cluster_my_epoch :. 1
cluster_stats_messages_sent: 123
cluster_stats_messages_received: 123
192.168.23.102:7777>
Allocation de fente virtuelle
[Redis @ k8snode01 src] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.100 -p 7777 -a 123456 addslots de cluster {0..5461}
OK
[Redis @ k8snode01 src ] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.101 -p 7777 -a 123456 addslots de cluster {5462..10922}
OK
[Redis @ k8snode01 src] $ / home / Redis / soft / Redis-3.2.1 / src / Redis-cli -h 192.168.23.102 -p 7777 -a 123456 addslots de cluster {10923..16383}
OK
[Redis @ k8snode01 src] $
192.168.23.102:7777> pôle d' info #槽位分配后,集群状态正常
cluster_state: ok
cluster_slots_assigned: 16384
cluster_slots_ok: 16384
cluster_slots_pfail: 0
cluster_slots_fail: 0
cluster_known_nodes: 6
CLUSTER_SIZE: 3
cluster_current_epoch: 5
cluster_my_epoch: 1
cluster_stats_messages_sent: 718
cluster_stats_messages_received: 718
192.168.23.102:7777> nœuds de cluster #显示槽位
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 moi - même, maître - 0 0 1 connecté 10923-16383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 maître - 0 1581501043432 3 connecté 5462-10922
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 maître - 0 4 1581501041416 connectés
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 maître - 0 2 1581501044441 connecté
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 maître - 0 1581501043431 0 connecté
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maître - 0 5 1581501042424 connectés 0- 5461
192.168.23.102:7777>
192.168.23.102:7777> fentes de cluster #显示槽位
1) 1) (nombre entier) 10 923
2) (nombre entier) 16.383
3) 1) "192.168.23.102"
2) (entier) 7777
3) "72a85ee1b384421e031f59e9e2a24d7eb82fe737"
2) 1) (nombre entier) 5462
2) (nombre entier) 10922
3) 1) "192.168.23.101"
2) (entier) 7777
3) "c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a"
3) 1) (nombre entier) 0
2) (entier) 5461
3) 1) "192.168.23.100"
2) (entier) 7777
3 ) "584fcfaa343e1777d8a123dc18ed120a44f13422"
192.168.23.102:7777>
Paramètres du nœud principal
[Redis @ k8snode01 src] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.100 -a -p 8888 123456 Cluster répliquées 584fcfaa343e1777d8a123dc18ed120a44f13422 # Sign nœud maître lié de
OK
[Redis @ src k8snode01] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.101 -a -p 8888 123456 Cluster répliquées c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a
OK
[Redis @ k8snode01 src] $ / Accueil / Redis / doux -a -p 8888 -h 192.168.23.102 /redis-3.2.1/src/redis-cli 123456 Cluster répliquées 72a85ee1b384421e031f59e9e2a24d7eb82fe737
OK
[Redis @ k8snode01 src] $
192.168.23.102:7777> nœuds de cluster #主从配置正常
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 moi - même, maître - 0 0 1 connecté 10923-16383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 maître - 0 1581501321613 3 connecté 5462-10922
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100: 8888 esclave 584fcfaa343e1777d8a123dc18ed120a44f13422 0 5 1581501322620 connectés
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 esclave c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 0 3 1581501316573 connecté
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclave 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581501323626 1 connecté
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maître - 0 5 1581501319595 connecté 0-5461
192.168.23.102:7777> informations de cluster
cluster_state: ok
cluster_slots_assigned: 16384
cluster_slots_ok: 16384
cluster_slots_pfail: 0
cluster_slots_fail: 0
cluster_known_nodes: 6
CLUSTER_SIZE: 3
cluster_current_epoch: 5
cluster_my_epoch: 1
cluster_stats_messages_sent: 1318
cluster_stats_messages_received: 1318
192.168.23.102:7777>
192.168.23.102:7777> fentes de cluster
1) 1) (nombre entier) 10 923
2) (nombre entier) 16.383
3) 1) "192.168.23.102"
2) (entier) 7777
3) "72a85ee1b384421e031f59e9e2a24d7eb82fe737"
4) 1) "192.168.23.102"
2) (entier) 8888
3) "e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce"
2) 1) (nombre entier) 5462
2) (nombre entier) 10.922
3) 1) "192.168.23.101"
2) (entier) 7777
3) "c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a"
4) 1) "192.168.23.101"
2) (entier) 8888
3) "554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f"
3) 1) (nombre entier) 0
2) (entier) 5461
3) 1) « 192,168. 23,100"
2) (entier) 7777
3) "584fcfaa343e1777d8a123dc18ed120a44f13422"
4) 1) « 192,168.23,100"
2) (entier) 8888
3) "681b511c9ea52b032b197e8e39dc25e6f9edc8ce"
192.168.23.102:7777>
Vérification de la disponibilité du cluster
[Redis @ k8snode02 src] $ ./redis-cli -h 192.168.23.102 -a -p 7777 123456 # journal ordinaire, ne peut pas écrire, vous devez vous connecter avec le fonctionnement du cluster -c
192.168.23.102:7777> le nom SET zhaiky
(erreur) Déménagé 5798 192.168.23.101:7777
192.168.23.102:7777>
[Redis @ k8snode02 src] $ ./redis-cli -c -h 192.168.23.102 -a -p 7777 123456
192.168.23.102:7777> le nom SET zhaiky
-> redirigées vers le logement [5798] bloc situé à 192.168.23.101:7777
le OK
192.168.23.101:7777> nom GET
"zhaiky"
192.168.23.101:7777>
192.168.23.102:7777> Cluster keyslot nom
(entier) 5798
192.168.23.102: 7777>
Master analogiques de temps d'arrêt
192.168.23.102:7777> nœuds de cluster # état actuel des clusters est normal, dans lequel le 192.168.23.101:7777 principal, 192.168.23.101: 8888 pour préparer
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 moi - même, Maître - Connected 10923-16383 1 0 0.
C1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168. 23.101: 7777 Maître . - 1581505306750 1581505302518 déconnecté 5462-10922 7
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 1581505307558 0. 5 Connecté esclave 584fcfaa343e1777d8a123dc18ed120a44f13422
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 esclave c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 0. 7 Connected 1.581.505.306.551
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclave 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1 1581505310587 connecté
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maître - 0 5 1581505309577 connectés 0-5461
192.168.23.102:7777>
[Redis @ k8snode01 src] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.101 -a -p 7777 123456 # arrêt 192.168.23.101:7777, les temps d' arrêt de simulation
192.168.23.101 : 7777> l'arrêt
non connecté>
192.168.23.102:7777> nœuds de cluster # 192.168.23.101: 7777停止, 192.168.23.101: 8888正常接管
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 moi - même, maître - 0 0 1 connecté 10923-16383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a maître 192.168.23.101:7777, ne parviennent - 1581505306750 1581505302518 7 déconnecté
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 esclave 584fcfaa343e1777d8a123dc18ed120a44f13422 0 5 1581505326748 connecté
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 maître - 0 8 1581505327759 connecté 5462-10922
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclave 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581505325742 1 connecté
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maître - 0 5 1581505324733 connectés 0-5461
192.168.23.102:7777>
[Redis @ k8snode01 src] $ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf # restauration 192.168.23.101:7777
192.168.23.102:7777> nœuds de cluster # 192.168.23.101: 7777为从, 192.168.23.101: 8888为主,不抢占
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 moi - même, maître - 0 0 1 connecté 10923-16383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 esclave 554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 0 8 1581505509554 connecté
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 esclave 584fcfaa343e1777d8a123dc18ed120a44f13422 0 5 1581505510565 connectés
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 maître - 0 8 1581505508544 connectés 5462-10922
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclave 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581505505525 1 connecté
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maître - 0 5 1581505507538 connectés 0-5461
192.168.23.102:7777>