Redis
Ver listado de nodos
Para poder obtener información acerca de los nodos que componen el cluster como ser conectividad o qué replica corresponde a qué master, se deben seguir los siguientes pasos:
-
Conectarse a una instancia de Redis con el usuario
admin. -
Ejecutar:
CLUSTER NODESinfoEste comando nos muestra información acerca de los nodos que componen el cluster.
-
El listado tendrá filas que se verán similares al ejemplo a continuación:
{{ node_id }} {{ server_ip }}:6369@16369,{{ server_hostname }} {{ myself }} slave {{ master_id }} {{ ping }} {{ pong }} {{ epoch }} {{ status }}
{{ node_id }} {{ server_ip }}:6389@16389,{{ server_hostname }} {{ myself }} master {{ master_status }} - {{ ping }} {{ pong }} {{ epoch }} {{ status }} {{ hash_slots_range }}info- node_id: En la primera columna vemos el id del nodo
- server_ip: En la segunda columna vemos la ip del servidor en que se encuentra el nodo
- server_hostname: En la segunda columna, después de una coma, vemos el hostname del servidor en que se encuentra el nodo.
- myself: La presencia de esta palabra nos indica que la información de esa fila corresponde al nodo al que nos hemos conectado
- slave o master: Nos indica si el nodo es una réplica (slave) o un master.
- master_id: Los nodos réplica nos indican el
node_iddel nodo master al que corresponden. - ping: Unix Timestamp en el que se envió un ping activo o 0, si no hay pings pendientes.
- pong: Unix Timestamp en el que se recibió un pong por última vez.
- epoch: Versión del nodo actual, si el nodo es master; o versión actual del master, si es replica.
- master_status: Los nodos master, cuando dejan de estar operativos, presentan el valor
failed. De lo contrario no mostrarán ningún valor. - status: Puede mostrar los valores
connectedodisconnected. Nos indica si el nodo está conectado al cluster o no. - hash_slots_range: Rango de slots que le corresponden al nodo. Este valor solamente aparece para nodos master.
Forzar réplica a convertirse en master
En caso de que el cluster de Redis no se encuentre operativo y al revisar el listado de nodos se verifica que esto se debe a que una replica no ha tomado el lugar de su master, se deben seguir los siguientes pasos:
-
Identificar cuál es la replica que correspondes al master no operativo en el listado de nodos.
-
Conectarse a la instancia de Redis replica con el usuario
admin. -
Ejecutar:
CLUSTER FAILOVER FORCEinfoEste comando obliga al nodo replica a tomar el lugar de su master.
Conectarse a nodo de Redis por medio de la terminal
Para poder conectarse a un nodo de redis y poder ejecutar comandos dentro de él se deben seguir los siguientes pasos:
-
Ejecutar en algún servidor con un nodo operativo:
docker exec -it redis-{{ node_type }} shinfoEste comando nos conecta con la terminal de la instancia de docker especificada.
- node_type: es el tipo del nodo, replica o master.
-
Ejecutar:
redis-cli -u redis://{{ user_name }}:{{ user_password }}@127.0.0.1:{{ node_port }} --tls --cert /opt/viridian/tls/cert.pem --key /opt/viridian/tls/key.pem --cacert /opt/viridian/tls/cert.peminfoEste comando nos conecta con la base de datos Redis dentro del contenedor.
- node_port: 6369 para acceder a
redis-replica, 6389 para acceder aredis-master - user_name: Los usuarios existentes pueden visualizarse en
defaults/local_vars.yml. Ej:insightPassword, dondeinsightes el nombre del usuario. - user_password: Este valor puede encontrarse en el archivo
defaults/local_vars.yml. Ej:insightPassword, donde el valor deinsightPasswordes la contraseña del usuarioinsight.
- node_port: 6369 para acceder a