Skip to main content
Version: next

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:

  1. Conectarse a una instancia de Redis con el usuario admin.

  2. Ejecutar:

    CLUSTER NODES
    info

    Este comando nos muestra información acerca de los nodos que componen el cluster.

  3. 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_id del 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 connected o disconnected. 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:

  1. Identificar cuál es la replica que correspondes al master no operativo en el listado de nodos.

  2. Conectarse a la instancia de Redis replica con el usuario admin.

  3. Ejecutar:

    CLUSTER FAILOVER FORCE
    info

    Este 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:

  1. Ejecutar en algún servidor con un nodo operativo:

    docker exec -it redis-{{ node_type }} sh
    info

    Este comando nos conecta con la terminal de la instancia de docker especificada.

    • node_type: es el tipo del nodo, replica o master.
  2. 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.pem
    info

    Este comando nos conecta con la base de datos Redis dentro del contenedor.

    • node_port: 6369 para acceder a redis-replica, 6389 para acceder a redis-master
    • user_name: Los usuarios existentes pueden visualizarse en defaults/local_vars.yml. Ej: insightPassword, donde insight es el nombre del usuario.
    • user_password: Este valor puede encontrarse en el archivo defaults/local_vars.yml. Ej: insightPassword, donde el valor de insightPassword es la contraseña del usuario insight.