GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar el clúster RabbitMQ en CentOS 7

RabbitMQ es un software de intermediario de mensajes de código abierto que originalmente implementa el protocolo AMQP (Advanced Message Queuing Protocol), y aunque se ha desarrollado y ampliado para admitir otros protocolos como STOMP (Streaming Text Oriented Messaging Protocol) y MQTT (Message Transporte de telemetría en cola).

RabbitMQ es el software de cola de mensajes que ofrece soporte para enviar y recibir mensajes entre sistemas, aplicaciones y servicios distribuidos. Está escrito con el lenguaje de programación Erlang y admite interfaces de cliente y bibliotecas para todos los principales lenguajes de programación, incluidos Python, NodeJS, Java, PHP, etc.

En este tutorial, le mostraré paso a paso cómo configurar el clúster RabbitMQ en un servidor CentOS 7. Configuraremos el clúster de RabbitMQ utilizando tres servidores CentOS, habilitaremos la administración de RabbitMQ y configuraremos la política HA para todos los nodos.

Requisitos

  • 3 o más servidores CentOS 7
    • 10.0.15.21 nodo01
    • 10.0.15.22 nodo02
    • 10.0.15.23 nodo03
  • Privilegios de raíz

¿Qué haremos?

  1. Archivo de hosts de configuración
  2. Instalar servidor RabbitMQ
  3. Habilitar los complementos de administración de RabbitMQ
  4. Configurar cortafuegos
  5. Configurar el clúster de RabbitMQ
  6. Configurar un nuevo usuario administrador
  7. Configurar la duplicación de colas de RabbitMQ
  8. Pruebas

Paso 1:configurar el archivo de hosts

En este paso, editaremos el archivo '/etc/hosts' en todos los servidores y asignaremos la dirección IP de cada servidor como un nombre de host.

Edite el archivo '/etc/hosts' usando vim editor.

sudo vim /etc/hosts

Ahora pegue la siguiente configuración allí.

10.0.15.21 node01
10.0.15.22 node02
10.0.15.23 node03

Guardar y salir.

Paso 2:instalar el servidor RabbitMQ

En este paso, instalaremos los paquetes del servidor RabbitMQ desde el repositorio EPEL (paquetes adicionales para Enterprise Linux).

Agregue el repositorio EPEL al sistema CentOS 7.

sudo yum -y install epel-release

Ahora instale RabbitMQ Server en todos los nodos 'node01', 'node02' y 'node03' usando el comando yum a continuación.

sudo yum -y install rabbitmq-server

Y una vez completada la instalación, inicie el servicio RabbitMQ y permita que se inicie cada vez que se inicie el sistema.

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

El servidor RabbitMQ se ha instalado en todos los clústeres de nodos CentOS 7.

Paso 3:habilite los complementos de administración de RabbitMQ

En este paso, habilitaremos los complementos de administración de RabbitMQ. Es una interfaz que le permite monitorear y manejar el servidor RabbitMQ desde el navegador web, ejecutándose en el puerto TCP predeterminado '15672'.

Habilite los complementos de administración de RabbitMQ ejecutando el siguiente comando.

sudo rabbitmq-plugins enable rabbitmq_management

Asegúrese de que no haya ningún error, luego reinicie el servicio RabbitMQ.

sudo systemctl restart rabbitmq-server

Y la gestión de RabbitMQ se ha habilitado.

Paso 4:configurar CentOS Firewalld

En este tutorial, habilitaremos el servicio de firewalld de CentOS, por lo que debemos abrir el puerto que usa el servidor RabbitMQ.

Abriremos el puerto que usa el servidor RabbitMQ '5672', el puerto para la gestión de RabbitMQ '15672' y los puertos para el clúster RabbitMQ '4369, 25672'.

Ejecute los siguientes comandos de firewalld.

sudo firewall-cmd --add-port=15672/tcp --permanent
sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --add-port={4369/tcp,25672/tcp} --permanent

Ahora vuelva a cargar firewalld y verifique todos los puertos abiertos en la lista.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

La configuración del firewalld de CentOS se ha completado y estamos listos para configurar el clúster RabbitMQ.

Paso 5:configurar el clúster de RabbitMQ

Para configurar el clúster RabbitMQ, debemos asegurarnos de que el archivo '.erlang.cookie' sea el mismo en todos los nodos. Copiaremos el archivo '.erlang.cookie' en el directorio '/var/lib/rabbitmq' desde 'node01' a otro nodo 'node02' y 'node03'.

Copie el archivo '.erlang.cookie' usando los comandos scp del 'node01'.

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

Asegúrese de que no haya ningún error en ambos servidores.

A continuación, debemos configurar 'node02' y 'node03' para unirse al clúster 'node01'.

Ejecute todos los comandos a continuación en los servidores 'node02' y 'node03'.

Reinicie el servicio RabbitMQ y detenga la aplicación.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Ahora deje que el servidor RabbitMQ en ambos nodos se una al clúster en 'node01', luego inicie la aplicación.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Una vez que se complete, verifique el estado del clúster de RabbitMQ.

sudo rabbitmqctl cluster_status

Y obtendrá los resultados como se muestra a continuación.

En el 'nodo02'.

En el 'nodo03'.

Se ha creado el clúster RabbitMQ, con node01, node02 y node03 como miembros.

Paso 6:crear un nuevo usuario administrador

En este tutorial, crearemos un nuevo usuario administrador para nuestro servidor RabbitMQ y eliminaremos el usuario "invitado" predeterminado. Crearemos un nuevo usuario a partir de 'node01' y se replicará automáticamente en todos los nodos del clúster.

Agregue un nuevo usuario llamado 'hakase' con contraseña '[email protected]'.

sudo rabbitmqctl add_user hakase [email protected]

Configure el usuario 'hakase' como administrador.

sudo rabbitmqctl set_user_tags hakase administrator

Y otorgue al usuario 'hakase' permiso para modificar, escribir y leer todos los vhosts.

sudo rabbitmqctl set_permissions -p / hakase ".*" ".*" ".*"

Ahora elimine el usuario 'invitado' predeterminado.

sudo rabbitmqctl delete_user guest

Y verifique todos los usuarios disponibles.

sudo rabbitmqctl list_users

Y obtendrá el resultado como se muestra a continuación.

Se creó un nuevo usuario de RabbitMQ y se eliminó el usuario 'invitado' predeterminado.

Paso 7 - Duplicación de la cola de configuración de RabbitMQ

Esta configuración es obligatoria, necesitamos configurar el clúster de "política ha" para la replicación y duplicación de colas en todos los nodos del clúster. Si el nodo que aloja el maestro de la cola falla, el espejo más antiguo se promocionará al nuevo maestro siempre que esté sincronizado, según las políticas de 'ha-mode' y 'ha-params'.

Los siguientes son algunos ejemplos sobre las políticas ha de RabbitMQ.

Configure una política llamada 'ha-all' que todas las colas en el clúster de RabbitMQ reflejarán en todos los nodos del clúster.

sudo rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all"}'

Configure la política ha llamada 'ha-dos', en la que todos los nombres de cola comienzan con 'dos'. se reflejará en los dos nodos del clúster.

sudo rabbitmqctl set_policy ha-two "^two\." \
   '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'

Configure la política ha denominada 'ha-nodes', cuyos nombres de cola comienzan con 'nodes'. se reflejará en dos nodos específicos 'node02' y 'node03' en el clúster.

sudo rabbitmqctl set_policy ha-nodes "^nodes\." \
   '{"ha-mode":"nodes","ha-params":["[email protected]", "[email protected]"]}'

Ahora verifique todas las políticas disponibles usando el siguiente comando.

sudo rabbitmqctl list_policies;

Y si desea eliminar la política, use el siguiente comando.

sudo rabbitmqctl clear_policy ha-two

Paso 8 - Prueba

Abra su navegador web y escriba la dirección IP del nodo con el puerto '15672'.

http://10.0.15.21:15672/

Escriba el nombre de usuario 'hakase' con la contraseña '[email protected]'.

Y obtendrá el panel de administración de RabbitMQ como se muestra a continuación.

El estado de todos los nodos del clúster está en funcionamiento.

Ahora haga clic en el menú de la pestaña "Administrador" y haga clic en el menú "Usuarios" al costado.

Y obtendrá el usuario hakase en la lista.

Ahora haga clic en el menú de la pestaña "Administrador" y haga clic en el menú "Políticas" al costado.

Y obtendrá todas las políticas RabbitMQ ha que hemos creado.

La instalación y configuración de RabbitMQ Cluster en el servidor CentOS 7 se completó con éxito.


Cent OS
  1. Cómo instalar un clúster de Kubernetes en CentOS 7

  2. Cómo instalar Vagrant en CentOS 7

  3. Cómo instalar Gitea en CentOS 8

  4. Cómo configurar WireGuard VPN en CentOS 8

  5. Cómo instalar Memcached en CentOS 8

Cómo instalar Memcached en CentOS 7

Cómo instalar PHP en CentOS 8

Cómo configurar el clúster RabbitMQ en Ubuntu 18.04 LTS

Cómo configurar el clúster RabbitMQ en Ubuntu 20.04

Cómo instalar y configurar Gitlab CE Server en Centos 8

Cómo instalar RabbitMQ en CentOS 8