Configuración de clúster de Redis

grupo

  • Redis tiene tres modos de clúster

  • modo maestro-esclavo

  • modo centinela

  • Modo de clúster

  • Desventajas de la replicación maestro-esclavo

Una vez que el nodo maestro está inactivo y el servicio de escritura no está disponible, debe cambiar manualmente, volver a seleccionar el nodo maestro y configurar manualmente la relación maestro-esclavo.

  • Desventajas del modo centinela

  • Cuando el maestro cuelgue, Sentinel elegirá un maestro. Durante la elección, no hay forma de acceder a Redis y habrá una interrupción momentánea del acceso;

  • En el modo centinela, solo el nodo maestro puede escribir externamente y el nodo esclavo solo puede usarse para lectura. Aunque un solo nodo de Redis admite un QPS máximo de 10 W, la presión de escribir datos recae en el maestro durante las promociones de comercio electrónico.

  • La memoria de un solo nodo de Redis no se puede configurar demasiado grande.Si los datos son demasiado grandes, la sincronización maestro-esclavo será muy lenta.Cuando el nodo se inicia, el tiempo es particularmente largo;

①, replicación maestro-esclavo de Redis

  • ¿Qué es la replicación maestro-esclavo?

La replicación maestro-esclavo se refiere a copiar los datos de un servidor Redis a otros servidores Redis. El primero se denomina nodo maestro (master) y el segundo se denomina nodo esclavo (slave).La replicación de datos es unidireccional y solo puede ser del nodo maestro al nodo esclavo.

  • El papel de la replicación maestro-esclavo
  1. Redundancia de datos: la replicación maestro-esclavo implementa la copia de seguridad activa de los datos, que es un método de redundancia de datos distinto de la persistencia.
  2. Recuperación de fallas: cuando hay un problema con el nodo maestro, el nodo esclavo puede proporcionar servicios para lograr una rápida recuperación de fallas; en realidad, es un tipo de redundancia de servicio.
  3. Equilibrio de carga: sobre la base de la replicación maestro-esclavo, combinada con la separación de lectura y escritura, el nodo maestro puede proporcionar servicios de escritura y los nodos esclavos pueden proporcionar servicios de lectura (es decir, la aplicación se conecta al nodo maestro al escribir datos de Redis , y la aplicación se conecta al nodo esclavo cuando lee datos de Redis), para compartir la carga del servidor; especialmente en el escenario de escribir menos y leer más, compartir la carga de lectura a través de múltiples nodos esclavos puede aumentar considerablemente la concurrencia del servidor Redis.
  4. La piedra angular de la alta disponibilidad: además de las funciones anteriores, la replicación maestro-esclavo también es la base para la implementación de centinelas y clústeres, por lo que la replicación maestro-esclavo es la base para la alta disponibilidad de Redis.
  • La replicación maestro-esclavo se puede dividir en 3 etapas
  1. Fase de establecimiento de la conexión (es decir, fase de preparación)
  2. Fase de sincronización de datos
  3. Fase de propagación de comandos
  • Estrategia de sincronización maestro-esclavo

Cuando el maestro-esclavo está recién conectado, se realiza una sincronización completa; después de la sincronización completa, se realiza una sincronización incremental. Por supuesto, si es necesario, el esclavo puede iniciar la sincronización completa en cualquier momento. La estrategia de redis es, pase lo que pase, primero intentará realizar una sincronización incremental. Si no tiene éxito, se requiere que la máquina esclava realice una sincronización completa.

configuración independiente

①, escriba el archivo de configuración

Nuevo redis6379.conf

# 修改配置文件
vim redis6379.conf

# 修改内容
include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb

Nuevo redis6380.conf

# 修改配置文件
vim redis6379.conf

# 修改内容
include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb

Nuevo redis6381.conf

# 修改配置文件
vim redis6379.conf

# 修改内容
include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6381.pid
port 6381
dbfilename dump6381.rdb

②, inicio

# 分别启动三台redis
./redis-server ../redis6379.conf
./redis-server ../redis6380.conf
./redis-server ../redis6381.conf

③, desde la configuración de la biblioteca

Configurar la biblioteca esclava pero no la biblioteca maestra

# slaveof <ip> <port> - ip: 主库地址,port: 主库端口
SLAVEOF 127.0.0.1 6379

④, verifique el estado maestro-esclavo

Ver información de estado después de ejecutar slaveof

# 查看连接信息
info replication

②, modo centinela Redis

  • tecnología de conmutación maestro-esclavo

Cuando el servidor maestro está inactivo, es necesario cambiar manualmente un servidor esclavo al servidor maestro, lo que requiere una intervención manual, que es laboriosa y hará que el servicio no esté disponible durante un período de tiempo. Esta no es una forma recomendada, más a menudo, damos prioridad al modo centinela.

  • Descripción general del centinela

El modo Sentinel es un modo especial. En primer lugar, Redis proporciona comandos Sentinel. Sentinel es un proceso independiente. Como proceso, se ejecutará de forma independiente. El principio es que Sentinel supervisa varias instancias de Redis en ejecución mediante el envío de comandos y la espera de que el servidor de Redis responda.

  • Rol de centinela
  1. Monitoreo de clúster: responsable de monitorear si los procesos redis maestro y esclavo funcionan normalmente
  2. Notificación de mensaje: si falla una instancia de redis, el centinela es responsable de enviar un mensaje como una notificación de alarma al administrador
  3. Conmutación por error: si el nodo maestro cuelga, se transferirá automáticamente al nodo esclavo
  4. Centro de configuración: si se produce una conmutación por error, notifique al cliente la nueva dirección maestra

edificio centinela

①, crea un centinela

Cree un nuevo archivo sentinel-26379.conf

Otros clientes también necesitan configurar

  • parámetro:
  1. monitor centinela mymaster 192.168.92.128 6379 2 El significado de la configuración es: el nodo centinela monitorea el nodo maestro 192.168.92.128:6379, el nombre del nodo maestro es mymaster, y el significado de los 2 últimos está relacionado con el juicio de falla del nodo maestro: al menos 2 nodos Sentinel acuerdan determinar la falla del nodo principal y realizar la conmutación por error.

    modificar archivo

    vim centinela-26379.conf

    Modificar contenido

    puerto

    puerto 26379

    demonio corriendo

    demonizar sí

    archivo de registro

    archivo de registro "26379.log"

    Nombre del nodo maestro supervisado (mymaster) IP del nodo maestro (192.168.66.11) Puerto del nodo maestro (6379) la mitad del total de nodos + 1 (2)

    monitor centinela mymaster 192.168.66.11 6379 2

②, inicia el centinela

# 启动哨兵
cd /.../src
./redis-sentinel ../sentinel-26379.conf

# 查看状态
./redis-cli -p 26379
info sentinel

③, modo de grupo

El clúster de Redis es un clúster de servicios distribuidos compuesto por múltiples grupos de nodos maestro-esclavo, que tiene las características de replicación, alta disponibilidad y fragmentación. La construcción del clúster de Redis requiere al menos 3 nodos maestros. Aquí construimos 3 nodos maestros, cada uno con un nodo esclavo adjunto, para un total de 6 nodos de Redis;

Configuración de clúster

①, configure el archivo de clúster

  • Modifique los siguientes contenidos del archivo redis.conf [Todos los clientes deben estar configurados]

    Modifique los siguientes contenidos del archivo redis.conf

    vim /…/redis.conf

    Modificar contenido

    puerto 8001
    daemonize sí
    pidfile “/var/run/redis_8001.pid” .

    Especifique la ubicación de almacenamiento del archivo de datos, debe especificar una ubicación de directorio diferente, de lo contrario, los datos se perderán

    dir /usr/local/redis/redis-cluster/8001/

    Iniciar el modo de clúster

    habilitado para clúster sí

    Archivo de información de nodo de clúster, donde 800x es mejor para corresponder al puerto

    cluster-config-archivo nodos-8001.conf

    Tiempo de espera para el nodo fuera de línea

    clúster-nodo-tiempo de espera 5000

    Eliminar el enlace de enlace para acceder a la información de IP

    enlazar 127.0.0.1

    Deshabilitar el modo protegido

    modo protegido no

    Iniciar archivo AOF

    solo si

    Si desea establecer una contraseña, debe agregar la siguiente configuración:

    Establecer contraseña de acceso redis

    requiere pasar itxiong

    Establezca la contraseña de acceso entre los nodos del clúster, de acuerdo con lo anterior

    masterauth itxiong

②, crea un grupo

  • parámetro:
  1. -una contraseña

  2. –racimo-réplicas:

    • –cluster-replicas 1: Indica que 1 esclavo está conectado a 1 maestro;
    • –cluster-replicas 2: Indica que 2 esclavos están conectados a 1 maestro.

    puesta en marcha

    /usr/local/redis/src/redis-cli -a redis-pw –
    creación de clúster --cluster-replicas 1 192.168.66.101:8001 192.168.66.101:8002 192.168.66.102:8001 192.168.66.102:8002 192.16 8.66.103: 8001 192.168.66.103:8002

③, ver el comando de ayuda

  • parámetro:
  1. crear: crear un entorno de clúster host1:puerto1 ... hostN:puertoN

  2. llamada: puede ejecutar el comando redis

  3. add-node: agrega un nodo al clúster, el primer parámetro es la ip: puerto del nuevo nodo y el segundo parámetro es la ip: puerto de cualquier nodo existente en el clúster

  4. del-node: eliminar un nodo

  5. fragmento: fragmento

  6. check: comprobar el estado del clúster

    Ver ayuda

    src/redis‐cli -- ayuda del clúster

④, verifique el grupo

conectarse a cualquier cliente

  • parámetro:
  1. ‐a indica la contraseña del servidor

  2. -c significa modo de clúster

  3. -h especifica la dirección IP

  4. -p indica el número de puerto

    conectar cliente

    /usr/local/redisd/src/redis-cli -a redis-pw -c -h 192.168.66.101 -p 8001

⑤ Ver la información del clúster

cluster info

Supongo que te gusta

Origin blog.csdn.net/qq_56571862/article/details/128904404
Recomendado
Clasificación