Redis

De notas.romsolutions.es
Revisión del 12:03 1 sep 2020 de RoM (discusión | contribuciones) (Página creada con «=Definición= =Puertos= Puertos habituales redis puerto 6379 redisProd puerto 6780 =Comandos= Copia de seguridad redis-cli save Info Server redis-cli info server Esta…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Definición

Puertos

Puertos habituales

redis puerto 6379
redisProd puerto 6780

Comandos

Copia de seguridad

redis-cli save

Info Server

redis-cli info server

Esta toda la info en ram

redis-cli info memory

Info nodos

redis-cli cluster nodes

Añadir o Quitar un nodo del cluster Redis

Como ya sabemos en un cluster de Redis el trabajo de reparte por slots entre los diferentes nodos. Si queremos añadir o quitar un nodo estos slots se deben repartir. Vamos a ver los dos casos, pero antes para poder hacer un reorganización de slots fácilmente vamos a instalar ruby en un versión en concreto.

Instalación paquetes Ruby

  • Instalación repositorios SCL
yum  install centos-release-scl-rh centos-release-scl
  • Deshabilitar estos repositorios por seguridad
poner el Enables a 0 o donde este a 1
  • Instalación de Ruby usando estos repos
yum enable-repo=centos-sclo instal rh-ruby23
  • Lanzar bash usando el entorno de rh-ruby23
scl enable rh-ruby23 bash
  • Una vez dentro del bash proceder a la instalación de redis
gem install revis -v 3.3.3

Ya tenemos nuestro entorno prepardo para trabajar con redis-trib.rb

Añadir un nodo

Primero hemos de meter en nodo en el cluster de redis.

CLUSTER MEET ip_de_conexión(normalmente interna) puerto_de_conexión

Una vez añadido procedemos a la repartición de los SLOTs. Son un total de 16383 slots, en caso de tener 7 nodos simplemente hemos de realizar la división y determinar cual es el número de slots a repartir.

Ejemplo: 16383 / 7 = 2340,42
Cada nodo debe tener asignados 2340 slots.

Resharing nodes / Reorganización de Slots

Una vez añadido el nodo al cluster de Redis, procedemos con la reorganización del slots. Lanzar el comando:

redis-trib.rb reshard 192.168.181.163:6379

Este comando chequea el cluster, comprueba que la máquina este conectada al cluster y nos lanza la siguiente pregunta:

How many slots do you want to move (from 1 to 16384)? 2340 (nuestra respuesta)

Seguidamente nos lanza otra cuestión, en que maquina queremos que se inserten los slots.

What is the receiving node ID? 96a4b95e78bcc57ea0ea696a55387c9508983824

Ahora la penúltima pregunta, el comando quiere saber de donde queremos sacar los slots, de todos los nodos o de uno en concreto?

Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' once you entered all the source nodes IDs.
Source node #1:all

Bien, comenzará monstrando los cambios que va a realizar y luego nos solicita confirmación para realizarlos.

Cuando termine el nuevo nodo estará trabajando al 100% en el Redis Cluster.

Quitar un nodo

Para quitar un nodo primero hemos de repartir los slots que sobrarán después de eliminarlo.

Es decir que si tenías un cluster con 7 nodos, cada nodo tenía 2340 slots. Ahora como tendremos un cluster de 6 nodos cada uno deberá de tener 2730.

Gracias a la utilidad que utilizamos al añadir un nodo esta operación se hace más fácil, redis-trib.rb.

Una vez reorganizados los slots y habiendo dejado vació de slots el que queremos eliminar podemos proceder a la eliminación de este.

redis-cli cluster del-node 127.0.0.1:6379 e897068ec9b0271debd838dde985ba5cf60335