REDIS de modelo de clúster clúster

Sabemos de la copia maestra y el modo autónomo Sentinel para resolver el problema Redis, pero Redis todavía hay dos preguntas:
1) todas las operaciones de escritura se concentran en el servidor principal, la CPU maestra relativamente grande de presión
2) si el servidor principal o desde el servidor, sino que también se almacenan todas las redis de datos, a medida que más y más datos, los problemas pueden ocurrir con suficiente memoria
después de la versión Redis3.0 soportes de racimo cluste, que se compone de clúster nodo maestro-esclavo múltiple granja de servidores distribuidos que consiste en una replicación, alta disponibilidad y fragmentación de datos característica para cada ranuras de almacenamiento primarios dividiendo los datos almacenados en ninguna parte. redis clúster no necesita centinela centinela nodo es eliminado puede completar la funcionalidad y la conmutación por error, las necesidades de cada nodo que se establecen a modo de clúster, este modo no es el centro de los nodos del clúster, escalable horizontalmente, de acuerdo con los documentos oficiales, Said extendida linealmente a 1000 nodos. por debajo de una arquitectura de implementación de clúster La siguiente figura:

configuración Cluster

[Redis suave @ k8snode02] $ pwd
/ Inicio / Redis / Soft
[Redis suave @ k8snode02] $ LL
total. 4
drwxrwxr X-2. 6 Redis Redis Cluster El 12 de febrero es 03:56
drwxrwxr X-4096. 6 El 12 de febrero es 03:53 Redis Redis Redis -3.2.1
[@ k8snode02 Redis Cluster] $ Más ./7777/redis.conf | grep -v '^ $'
del /home/redis/soft/redis-3.2.1/redis.conf incluyen
daemonize si
el nivel de registro Aviso
archivo de registro " /home/redis/soft/cluster/7777/redis.log "
Puerto 7777
el enlace 0.0.0.0
dir" / home / Redis / Soft / Cluster / 7777 "
appendOnly si # persistente uso AOF de
appendFileName" appendonly.aof "
appendfsync everysec
maxmemory 100 000 000 # coloca el máximo de memoria 100M
habilitado para clúster si # Activar el modo de clúster
cluster-node-timeout 15000 # nodo de tiempo de espera de 15 segundos
maxclients 4064 # máximo número de conexiones de cliente
TCP atraso 0-
Cluster-config-file "/home/redis/soft/cluster/7777/nodes.conf" dentro de un archivo de configuración de cluster # generar automáticamente
la PidFile "/home/redis/soft/cluster/7777/redis.pid"
masterauth "123456"
requirepass "123456"

[Redis @ k8snode02 Cluster] $ Más ./8888/redis.conf | grep -v '^ $ '
la /home/redis/soft/redis-3.2.1/redis.conf incluyen
a demonizar Sí
Loglevel Aviso
archivo de registro '/home/redis/soft/cluster/8888/redis.log'
Puerto 8888
el enlace 0.0.0.0
el directorio "/ home / Redis / Soft / Cluster / 8888 "
appendOnly sí
appendFileName" appendonly.aof "
appendfsync everysec
maxmemory 100000000
habilitado para clúster sí
cluster-node-timeout 15000
maxclients 4064
tcp-backlog 0
cluster-config-file "/home/redis/soft/cluster/8888/nodes.conf"
pidfile "/ home / Redis / soft / cluster / 8888 / redis.pid"
masterauth "123456"
requirepass "123456"

[redis @ k8snode02 clúster] $
[redis @ k8snode02 clúster] $ ll
totales 0
drwxrwxr-x 2 redis REDIS 23 12 feb 04:10 7777
drwxrwxr-x 2 redis REDIS 23 Feb 12 04:12 8888
[Redis @ k8snode02 cúmulo] $ pwd
/ home / Redis / cluster / suave
[Redis @ k8snode02 cúmulo] $ scp -r * [email protected]: / home / Redis / soft / cluster / #配置文件拷贝到其他机器
La autenticidad de anfitrión '192.168.23.100 (192.168.23.100)' lata't establecerse.
Clave ECDSA huella digital es 64: e7: 8c: 8d: 6a: e1: 21: c5: 04: 78: a1: 4e: 7a: c3: e3: 8d.
¿Seguro que desea continuar conexión (sí / no)?
Advertencia: se ha añadido de forma permanente '192.168.23.100' (ECDSA) a la lista de hosts conocidos.
contraseña [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 cúmulo] $ scp -r * [email protected]. 23.101: / home / Redis / soft / cluster / #配置文件拷贝到其他机器
La autenticidad de acogida '192.168.23.101 (192.168.23.101)' no puede ser establecida.
Clave ECDSA huella digital es 64: e7: 8c: 8d: 6a: e1: 21: c5: 04: 78: a1: 4e: 7a: c3: e3: 8d.
¿Seguro que desea continuar conexión (sí / no)?
Advertencia: se ha añadido de forma permanente '192.168.23.101' (ECDSA) a la lista de hosts conocidos.
contraseña [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 cúmulo] $ 

puesta en servicio Redis

[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

[Repetir k8snode01 @ ~] $ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf
[repetir k8snode01 @ ~] $ / home / repetición /soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/8888/redis.conf

[Repetir k8smaster @ ~] $ /home/redis/soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/7777/redis.conf
[repetir k8smaster @ ~] $ / home / repetición /soft/redis-3.2.1/src/redis-server /home/redis/soft/cluster/8888/redis.conf 

Estructura en relación racimos

[Redis @ k8snode02 src] $ ./redis-cli -h 192.168.23.102 -a -p 7777 123456
192.168.23.102:7777> información Cluster #redis aislado de los casos, no existe una relación entre un grupo de ellos
cluster_state: fallar
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> nodos del clúster
72a85ee1b384421e031f59e9e2a24d7eb82fe737: 7777 yo, Maestro - Conectado 0 0 0
192.168 .23.102: 7777>
192.168.23.102:7777>la agrupación se reúnen 192.168.23.102 8888 # están conectados a través de los comandos de grupo Conoce a otros nodos, de manera que entre los nodos del clúster asociados   
permiso
192.168.23.102:7777> agrupación se reúnen 192.168.23.101 8888
permiso
192.168.23.102:7777> agrupación se reúnen 192.168.23.101 7777
permiso
192.168.23.102:7777> cúmulo 192.168.23.100 8888 Meet
permiso
192.168.23.102:7777> cúmulo 192.168.23.100 7777 Meet
permiso
192.168.23.102:7777> 
192.168.23.102:7777> nodos del clúster # agrupaciones de configuración alimento completo
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102 :. 7777 yo, Maestro - Conectado 1 0 0
. c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 Maestro - Conectado 3 0 1,581,500,730,968
Maestro 192.168.23.100:8888 681b511c9ea52b032b197e8e39dc25e6f9edc8ce - 0. 4 1581500736006 Conectado
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 Conectado
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 Master -. 5 0 1,581,500,734,998 Conectado
192.168. 23.102: 7777> información racimo # Aunque la conexión de cada nodo está conectado con éxito, pero no se puede usar, porque no hay 16384 ranuras asignadas al nodo de clúster
cluster_state: Falla
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> 

Asignación de slot virtual

[Redis @ k8snode01 src] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.100 -p 7777 -a 123456 addslots racimo {} 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 racimo {} 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 racimo {} 10923..16383
OK
[Redis @ k8snode01 src] $ 

192.168.23.102:7777> información racimo #槽位分配后,集群状态正常
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> clúster nodos #显示槽位
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 mí mismo, master - 0 0 1 conectado desde 10.923 hasta 16383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 master - 0 1581501043432 3 conectada 5462-10.922
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 master - 0 1581501041416 4 conectada
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 master - 0 1581501044441 2 conectado
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 master - 0 1581501043431 0 conectada
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 master - 0 1581501042424 5 conectada 0- 5461
192.168.23.102:7777>
192.168.23.102:7777> ranuras de racimo #显示槽位
1) 1) (número entero) 10.923
   2) (número entero) 16 383
   3) 1) "192.168.23.102"
      2) (número entero) 7777
      3) "72a85ee1b384421e031f59e9e2a24d7eb82fe737"
2) 1) (número entero) 5462
   2) (número entero) 10 922
   3) 1) "192.168.23.101"
      2) (número entero) 7777
      3) "c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a"
3) 1) (número entero) 0
   2) (número entero) 5461
   3) 1) "192.168.23.100"
      2) (número entero) 7777
      3 ) "584fcfaa343e1777d8a123dc18ed120a44f13422"
192.168.23.102:7777>

Configuración en el nodo 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éplica 584fcfaa343e1777d8a123dc18ed120a44f13422 # Relacionado con el nodo maestro de
permiso
[Redis @ src k8snode01] $ /home/redis/soft/redis-3.2.1/src/redis-cli -h 192.168.23.101 -a -p 8888 123456 Cluster c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a réplica
permiso
[Redis @ k8snode01 src] $ / Inicio / Redis / Soft -a -p 8888 -h 192.168.23.102 /redis-3.2.1/src/redis-cli réplica 123456 Cluster 72a85ee1b384421e031f59e9e2a24d7eb82fe737
permiso
[Redis @ k8snode01 src] $ 

192.168.23.102:7777> clúster nodos #主从配置正常
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 mí mismo, master - 0 0 1 conectada 10.923 hasta 16.383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 master - 0 1581501321613 3 conectada 5462-10.922
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100: 8888 esclavo 584fcfaa343e1777d8a123dc18ed120a44f13422 0 1581501322620 5 conectada
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 esclavo c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 0 1581501316573 3 conectado
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclavo 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581501323626 1 conectado
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 master - 0 1581501319595 5 conectado 0-5461
192.168.23.102:7777> info clúster
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> ranuras de racimo
1) 1) (número entero) 10.923
   2) (número entero) 16 383
   3) 1) "192.168.23.102"
      2) (número entero) 7777
      3) "72a85ee1b384421e031f59e9e2a24d7eb82fe737"
   4) 1) "192.168.23.102"
      2) (número entero) 8888
      3) "e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce"
2) 1) (número entero) 5462
   2) (número entero) 10 922
   3) 1) "192.168.23.101"
      2) (integer) 7777
      3) "c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a"
   4) 1) "192.168.23.101"
      2) (número entero) 8888
      3) "554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f"
3) 1) (número entero) 0
   2) (número entero) 5461
   3) 1) "192.168. 23.100"
      2) (número entero) 7777
      3) "584fcfaa343e1777d8a123dc18ed120a44f13422"
   4) 1) "192.168.23.100"
      2) (número entero) 8888
      3) "681b511c9ea52b032b197e8e39dc25e6f9edc8ce"
192.168.23.102:7777>

Verificación de la disponibilidad del clúster

[Redis @ k8snode02 src] $ ./redis-cli -h 192.168.23.102 -a -p 7777 123456 # registro ordinario, no puede escribir, es necesario iniciar sesión con el funcionamiento del clúster -c
192.168.23.102:7777> el nombre SET zhaiky
(error) se trasladó 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> el nombre SET zhaiky
-> redirigido a la ranura [5798] bloque ubicado en 192.168.23.101:7777
permiso
192.168.23.101:7777> nombre GET
"zhaiky"
192.168.23.101:7777> 
192.168.23.102:7777> Cluster keyslot nombre
(entero) 5798
192.168.23.102: 7777> 

Maestra analógica de tiempo de inactividad

192.168.23.102:7777> nodos del clúster # estado de clúster actual es normal, en el que el principal 192.168.23.101:7777, 192.168.23.101: 8888 para preparar
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 yo, Maestro - Conectado 10923-16383 1 0 0.
C1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168. 23.101: 7777 Maestro . - 1581505306750 1581505302518 desconectado 5462-10922 7
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 1581505307558 0. 5 Conectado Esclavo 584fcfaa343e1777d8a123dc18ed120a44f13422
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 Esclavo c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 0. 7 Conectado 1.581.505.306.551
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclavo 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581505310587 1 conectado
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 master - 0 1581505309577 5 conectada 0 a 5.461
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 # 192.168.23.101:7777 parada, el tiempo de inactividad de simulación
192.168.23.101 : 7777> el cierre
no conectado> 

192.168.23.102:7777> clúster nodos # 192.168.23.101: 7777停止, 192.168.23.101: 8888正常接管
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 mí mismo, amo - 0 0 1 conectado desde 10.923 hasta 16.383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 maestro, falle - 1581505306750 1581505302518 7 desconectado
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 esclavo 584fcfaa343e1777d8a123dc18ed120a44f13422 0 1581505326748 5 conectado
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 master - 0 1581505327759 8 conectado 5462 a 10.922
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclavo 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581505325742 1 conectado
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maestro - 0 1581505324733 5 conectado 0 a 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 # restaurar 192.168.23.101:7777

192.168.23.102:7777> clúster nodos # 192.168.23.101: 7777为从, 192.168.23.101: 8888为主,不抢占
72a85ee1b384421e031f59e9e2a24d7eb82fe737 192.168.23.102:7777 mí mismo, amo - 0 0 1 conectado 10.923-16.383
c1e0f4ede71cdfa94db63fbc8dbc0d03024e598a 192.168.23.101:7777 esclavo 554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 0 1581505509554 8 conectado
681b511c9ea52b032b197e8e39dc25e6f9edc8ce 192.168.23.100:8888 esclavo 584fcfaa343e1777d8a123dc18ed120a44f13422 0 1581505510565 5 conectada
554fe235bfe4f1f5490bc1c56cc3aff88cb6aa1f 192.168.23.101:8888 maestro - 0 1581505508544 8 conectada 5462-10.922
e8c026d7bf2d82e95d9498cf56ad3ac45ab6e6ce 192.168.23.102:8888 esclavo 72a85ee1b384421e031f59e9e2a24d7eb82fe737 0 1581505505525 1 conectado
584fcfaa343e1777d8a123dc18ed120a44f13422 192.168.23.100:7777 maestro - 0 1581505507538 5 conectado 0 a 5461
192.168.23.102:7777> 

Publicado 60 artículos originales · alabanza ganado 20 · vistas 4570

Supongo que te gusta

Origin blog.csdn.net/zhaikaiyun/article/details/105033071
Recomendado
Clasificación