Cómo configurar la replicación Redis (con modo de clúster en discapacitado) en CentOS 8 - Parte 1
- 4719
- 1153
- Mateo Pantoja
Rehacer (Servidor de diccionario remoto) es un código abierto muy popular y ampliamente utilizado, servidor de datos de datos de valor de clave rápida, distribuida y eficiente en memoria.
Ofrece un rico conjunto de características que lo hacen efectivo para una amplia gama de casos de uso: como base de datos, capa de almacenamiento en caché, corredor de mensajes o cola; aplicable en aplicaciones web, aplicaciones de chat y mensajería, juegos, análisis de datos en tiempo real y mucho más.
Admite estructuras de datos flexibles, replicación asíncrona maestra de esclavo para escalar el rendimiento de lectura y proteger contra la pérdida de datos, fragmentación del lado del cliente para escalar el rendimiento de escritura, dos formas de persistencia para escribir datos en memoria en el disco en un formato compacto, agrupar, y y fraccionamiento. También presenta fallas automáticas para la implementación de alta disponibilidad a través de Redis Sentinel, Lua Scripting, actas, y muchos más.
Ser un Sin SQL o base de datos no relacional, Rehacer ofrece algunos beneficios de rendimiento sobre los sistemas de bases de datos tradicionales (como Mysql/mariadb, Postgresql, etc.), porque todos sus datos residen o se almacenan en la memoria, lo que lo hace fácilmente accesible para una aplicación, mientras que las bases de datos tradicionales tienen que escribir todos los datos o leer desde el disco o una fuente externa.
Rehacer se ha convertido en una opción cada vez más frecuente para el almacenamiento en caché, lo que permite la reutilización de los datos en caché (almacenados dentro del espacio de memoria principal de una aplicación) en lugar de consultar siempre una base de datos para datos utilizados con frecuencia. Entonces es un compañero fantástico de RDMS (Sistemas de gestión de bases de datos relacionales) para mejorar el rendimiento de la aplicación.
En esta tres partes Rehacer Serie tutorial, cubriremos cómo configurar y usar algunas de las características clave de Redis que son replicación, alta disponibilidad utilizando Redis Sentinel y Racimo de redis, Los artículos son:
Parte 1: Cómo configurar la replicación Redis (con modo de clúster en discapacitado) en CentOS 8 Parte 2: Cómo configurar Redis para alta disponibilidad con Sentinel en Centos 8 Parte 3: Cómo configurar un clúster redis (con modo de clúster habilitado) en CentOS 8Esta guía muestra cómo configurar Replicación de Redis (con Modo de clúster discapacitado) en Centos 8 Linux, incluyendo cómo instalar redis, configurar el maestro y las réplicas, y probar la replicación.
Importante: A Racimo de redis (i.E A Clúster de replicación) con el modo de clúster deshabilitado tiene un solo grupo de nodos (e.G A maestro y una o dos réplicas) donde un clúster redis con modo de clúster habilitado puede constar de dos o más grupos de nodos (E.g tres maestros cada uno con esclavos o dos).
Prerrequisitos:
- Servidores con instalación de CentOS 8
Configuración del entorno de prueba
Redis Master Server: 10.42.0.247 Redis Replica1/Slave1: 10.42.0.21 Redis Replica2/Slave2: 10.42.0.34Representación lógica del diagrama de replicación de Redis
Con la configuración anterior (que tiene un solo nodo primario/maestro de lectura/escritura y 2 nodos de réplica de solo lectura), tenemos un grupo de nodo único que contiene todos los datos del clúster en cada nodo. Una vez que un esclavo se conecta a un maestro, recibe una copia inicial de la base de datos completa y cualquier dato que existiera previamente en el esclavo se descartará.
Además, un cliente solo puede escribir al maestro pero leer desde cualquier nodo en el clúster. Y como se realizan escrituras en el maestro, se propagaron a todos los esclavos conectados para actualizar los conjuntos de datos de esclavos en tiempo real.
Paso 1: Instalar redis en Centos 8
1. Para empezar, inicie sesión en todo el Centos 8 nodos a través de SSH, luego instale el Rehacer Paquete en todos los nodos (maestro y réplicas) utilizando el administrador del paquete DNF como se muestra.
# instalación dnf @redis
2. Al finalizar el Rehacer Instalación de paquetes, inicie el Rehacer servicio, habilite que comience automáticamente en cada arranque del sistema y verifique si está en funcionamiento de la siguiente manera.
# SystemCTL Start Redis # SystemCTL Habilitar Redis # SystemCTL Status Redis
3. También puedes confirmar que el Rehacer El servidor está en funcionamiento revisando los puertos de escucha utilizando el comando SS, de la siguiente manera.
# ss -ltpn | GREP REDIS-SERVERConfirmar los puertos del servidor Redis
Paso 2: Configuración de Redis Master Server
4. Redis está configurado utilizando el /etc/redis.confusión Archivo de configuración, un archivo de configuración de ejemplo autodocumentado. Primero, cree una copia de seguridad del archivo original, luego ábralo para editar usando su editor de línea de comandos de elección.
# CP /ETC /REDIS.conf /etc /redis.confusión.org # VI /etc /Redis.confusión
5. Por defecto, un Rehacer La instancia está configurada para escuchar y aceptar conexiones en el bucleza interfaz, utilizando la directiva de enlace. Para comunicarse con las réplicas, el maestro debe configurarse para escuchar en el IPv4 Dirección de backback y su dirección IP de LAN I.mi 10.42.0.247.
atar 127.0.0.1 10.42.0.247
6. A continuación, configure el parámetro de modo protegido en No
para permitir la comunicación con las réplicas como se muestra.
Modo protegido NO
Además, Redis escucha en el puerto 6379 que se establece usando el puerto
directiva. Este es el puerto de datos para comunicarse con API de aplicaciones o clientes CLI.
Puerto 6379Configuración de Redis Master Server
7. Para asegurar opcionalmente el maestro-replica comunicaciones, podemos proteger al maestro usando el requería Directiva, para que los clientes/réplicas tengan que emitir una contraseña de autenticación antes de ejecutar cualquier comando o comenzar un proceso de sincronización de replicación, de lo contrario, el maestro rechazará la solicitud del cliente/réplica (recuerde establecer una contraseña segura).
Usaremos la siguiente opción para fines de demostración, para mostrar cómo funciona.
RequastEpass [correo electrónico protegido]Establecer contraseña de autenticación
8. Además, los registros de Redis se almacenan en el /var/log/redis/redis.registro archivo, esto se establece utilizando el archivo de registro Directiva y el nivel de verbosidad del servidor predeterminado es aviso, definido usando el nivel de registro parámetro.
Loglevel Aviso logFile/var/log/redis/redis.registroEstablecer el archivo de registro de Redis y el nivel de registro
9. Desde system es el sistema predeterminado y el administrador de servicios en Centos 8, puedes configurar Rehacer interactuar con el system Árbol de supervisión estableciendo el supervisado parámetro system.
Systemd supervisadoEstablecer el supervisor de Redis en Systemd
10. Después de hacer todas las configuraciones necesarias, guárdelo y cierre. Luego reinicie el Rehacer Servicio para aplicar los nuevos cambios.
# SystemCTL Daemon-Reload # SystemCTL Reiniciar Redis
11. Para acceder al Rehacer servidor, necesitamos usar el redis-cli (una interfaz de línea de comandos para el servidor redis). Por defecto, se conecta al servidor en el hostil (en 127.0.0.1 puerto 6379). Tenga en cuenta que debido a que el servidor está asegurado de los clientes que usan una contraseña, ejecutar un comando antes de que la autenticación debería fallar.
Utilizar el auténtico Comando para proporcionar la contraseña de autenticación como se muestra en la siguiente captura de pantalla.
# Redis-Cli 127.0.0.1: 6379> Lista de clientes 127.0.0.1: 6379> Auth [correo electrónico protegido] 127.0.0.1: 6379> Lista de clientesAccess Redis Server a través de Redis CLI
12. Para conectarse a un réplica (Después de configurarlos como se describe en la siguiente sección), use el -H
y -pag
opciones para especificar la réplica de dirección IP/nombre de host y puerto respectivamente (no es que el puerto 6379 Debe estar abierto en el firewall de la réplica).
# redis -cli -h 10.42.0.21 -P 6379
13. A continuación, abra el Rehacer puerto de datos del servidor en el firewall para permitir conexiones entrantes al maestro, y posteriormente recargar las reglas de firewall utilizando el comando firewall-cmd como se muestra.
# firewall-cmd --zone = public --permanent --add-port = 6379/tcp # firewall-cmd--Reload
Paso 3: Configuración de los servidores de réplica/esclavo de Redis
14. Para establecer rápidamente un Rehacer instancia como réplica sobre la marcha, use el redis-cli utilidad y llamar al Réplica comando como se muestra.
# réplica de redis-cli 10.42.0.247 6379 o # Redis-Cli 127.0.0.1: 6379> réplica de 10.42.0.247 6379Conéctese a una instancia Master Redis
15. Para que una conexión de replicación sea permanente, debe hacer los siguientes cambios en el archivo de configuración. Comience por hacer una copia de seguridad del archivo original, luego ábralo para editar.
# CP /ETC /REDIS.conf /etc /redis.confusión.org # VI /etc /Redis.confusión
dieciséis. Para permitir que los clientes se conecten a la réplica para leer datos, agregue la dirección IP de réplica a la Directiva BIND.
# réplica1 Bind 127.0.0.1 10.42.0.21 # replica2 bind 127.0.0.1 10.42.0.34
Establecer una instancia de Redis como réplica
17. Para configurar una instancia de Redis como un réplica, utilizar el réplica parámetro y establecer la dirección IP del nodo maestro (o nombre de host) y el puerto como valores.
réplica de 10.42.0.247 6379
Configuración de la réplica para autenticar al maestro
18. A continuación, dado que nuestra instancia maestra está protegida utilizando una contraseña, necesitamos establecer la contraseña en la configuración de la réplica para habilitarla maestro parámetro.
Masterauth [correo electrónico protegido]
19. Además, cuando una réplica pierde su conexión con el maestro, o cuando la replicación está en marcha, la réplica está configurada para responder a las solicitudes del cliente, posiblemente con "fuera de plazo" datos. Pero para si es la primera sincronización, entonces el conjunto de datos puede estar vacío. Este comportamiento está controlado por el datos de réplica parámetro.
Y desde Redis 2.6 Por defecto, las réplicas son de solo lectura, esto está controlado por el réplica de solo lectura parámetro. Puede hacer otros ajustes de configuración de réplica para satisfacer las necesidades de su aplicación.
20. Una vez que haya realizado todos los cambios necesarios, reinicie el servicio Redis en todas las réplicas.
# SystemCTL reiniciar Redis
21. Además, puerto abierto 6379 en el firewall para permitir las conexiones del maestro y los clientes a las réplicas, y recargar las reglas del firewall.
# firewall-cmd --zone = public --permanenent --add-port = 6379/tcp # firewall-cmd--Reload
Paso 4: Verifique el estado de replicación maestra-replica
22. Una vez el maestro-replica La configuración de replicación está completa, podemos verificar si la configuración funciona bien de la siguiente manera.
En el maestro, ejecute los siguientes comandos.
# Redis-Cli 127.0.0.1: 6379> Auth [correo electrónico protegido] 127.0.0.1: 6379> Replicación de informaciónConsulte la información de reubicación de Redis sobre el maestro
23. Además, verifique el estado de replicación en las réplicas/esclavos de la siguiente manera.
# Redis-Cli 127.0.0.1: 6379> Replicación de informaciónVerifique la información de replicación de Redis sobre la réplica de Redis 1 Verifique la información de replicación de Redis sobre Redis Réplica 2
23. Ahora probemos la replicación mediante configuración un valor clave En la instancia maestra y verifique si los datos se sincronizan con las réplicas.
En el maestro, haz esto:
# Redis-Cli 127.0.0.1: 6379> Auth [correo electrónico protegido] 127.0.0.1: 6379> establecer dominio 'www.tecmenta.com 'Establecer el valor de la clave en la instancia maestra
24. Luego verifique si los datos se han sincronizado con las réplicas como se muestra.
# Redis-Cli 127.0.0.1: 6379> Obtener dominioVerifique el estado de sincronización de datos en réplicas
Proteger la instancia maestra contra el riesgo de perder algunas escrituras
25. Redis tiene una característica que permite que una instancia maestra limite el riesgo de perder algunas escrituras en caso de que no hay suficientes réplicas disponibles, a un número específico de segundos.
Esto significa que un maestro puede dejar de aceptar escrituras si hay menos de norte réplicas conectadas, tener un retraso menos o igual que METRO segundos, controlado por el min-replicas a escritura y min-replicas-max-lag opciones respectivamente.
Para establecerlos, desencadenarlos y establecer los valores de acuerdo con sus requisitos de configuración en /etc/redis.confusión, Como se muestra en la siguiente captura de pantalla. Esta configuración significa que, desde el último ping hasta réplicas, después de 10 segundos, si hay menos de 2 réplicas en línea, el maestro dejará de aceptar escrituras.
min-replicas-a-write 2 min-replicas-max-lag 10Proteger al maestro de Redis contra la pérdida de escritura
Puede encontrar más opciones en el resto del /etc/redis.confusión Archivo de configuración y para obtener más detalle lee sobre la replicación en la documentación de Redis.
En el próximo artículo, cubriremos cómo configurar Redis para alta disponibilidad con Sentinel en Centos 8. Hasta entonces, manténgase bloqueado y recuerde compartir sus preguntas y preguntas utilizando nuestro formulario de comentarios a continuación está ahí para que se comunique con nosotros.
- « Use miradas para monitorear Linux remoto en modo de servidor web
- Cómo restablecer la contraseña de root olvidada en Arch Linux »