GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

RabbitMQ es un software de intermediario de mensajes de código abierto que originalmente implementó 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 ( Transporte de telemetría de Message Queue Server).

Se utiliza un software de cola de mensajes/corredor de mensajes para enviar y recibir mensajes entre sistemas, aplicaciones y servicios distribuidos. RabbitMQ está escrito en el lenguaje de programación Erlang, ofrece soporte para interfaces de cliente y bibliotecas para todos los principales lenguajes de programación, incluidos Python, NodeJS, Java, PHP, etc.

En este tutorial, le mostraré cómo configurar un clúster RabbitMQ en el servidor Ubuntu 18.04. Instalaré un clúster de RabbitMQ con tres servidores Ubuntu, habilitaré la administración de RabbitMQ y configuraré la política HA para todos los nodos.

Requisitos

  • 3 o más servidores Ubuntu 18.04
    • 10.0.15.21 hakase-ubuntu01
    • 10.0.15.22 hakase-ubuntu02
    • 10.0.15.23 hakase-ubuntu03
  • Privilegios de raíz

¿Qué haremos?

  1. Archivo de hosts de configuración
  2. Instalar servidor RabbitMQ
  3. Habilitar complementos de administración
  4. Configurar el cortafuegos UFW
  5. Configurar el clúster de RabbitMQ
  6. Configurar nuevo usuario administrador
  7. Duplicación de la cola de configuración 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 hakase-ubuntu01
10.0.15.22 hakase-ubuntu02
10.0.15.23 hakase-ubuntu03

Guardar y salir.

Paso 2:instalar el servidor RabbitMQ

Antes de instalar el servidor RabbitMQ, asegúrese de que todos los repositorios estén actualizados.

Ejecute el siguiente comando.

sudo apt update
sudo apt upgrade

Ahora instale los paquetes del servidor RabbitMQ desde el repositorio de Ubuntu usando el comando apt a continuación.

sudo apt install rabbitmq-server -y

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 instaló en Ubuntu 18.04.

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

Se han habilitado los complementos de administración de RabbitMQ.

Paso 4:configurar el cortafuegos UFW

En este tutorial, habilitaremos el firewall de Ubuntu UFW. Necesitamos abrir algunos puertos que serán utilizados por el servidor RabbitMQ.

Agregue el servicio ssh al firewall UFW y habilite el servicio de firewall.

sudo ufw allow ssh
sudo ufw enable

Ahora agregue nuevos puertos tcp de RabbitMQ '5672,15672,4369,25672'.

sudo ufw allow 5672,15672,4369,25672/tcp

A continuación, compruebe la lista de puertos del cortafuegos UFW.

sudo ufw status

La configuración del firewall de Ubuntu UFW 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' de 'hakase-ubuntu01' a otro nodo 'hakase-ubuntu02' y 'hakase-ubuntu03'.

Copie el archivo '.erlang.cookie' usando los comandos scp de 'hakase-ubuntu01'.

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 'hakase-ubuntu02' y 'hakase-ubuntu03' para unirnos al clúster 'hakase-ubuntu01'.

Nota:

  • Ejecute los siguientes comandos en los servidores hakase-ubuntu02' y 'hakase-ubuntu03'.

Reinicie el servicio RabbitMQ y detenga la aplicación.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Ahora permita que el servidor RabbitMQ en ambos nodos se una al clúster en 'hakase-ubuntu01', luego inicie la aplicación.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Cuando esté completo, verifique el estado del clúster de RabbitMQ.

sudo rabbitmqctl cluster_status

Y obtendrá los resultados a continuación.

Se ha creado RabbitMQ Cluster, con hakase-ubuntu01, hakase-ubuntu02 y hakase-ubuntu03 como miembros.

Paso 6:configurar 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 'hakase-ubuntu01' 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 administrador de RabbitMQ y se eliminó el usuario "invitado" predeterminado.

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

De forma predeterminada, el contenido de una cola dentro de un clúster de RabbitMQ se encuentra en un solo nodo (el nodo en el que se declaró la cola).

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'.

A continuación, se muestra un ejemplo sobre las políticas de 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 una política de alta disponibilidad llamada 'ha-nodes' que contendrá todas las colas cuyo nombre comience con 'nodes'. Estaremos reflejando dos nodos específicos 'hakase-ubuntu02' y 'hakase-ubuntu03' en el clúster.

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

RabbitMQ lista ha políticas.

sudo rabbitmqctl list_policies;

RabbitMQ elimina la política ha específica.

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á un 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 servidores Ubuntu 18.04 se completó con éxito.


Ubuntu
  1. ¿Cómo configurar un clúster MongoDB usando 3 nodos con Ubuntu 16?

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

  3. Cómo instalar el servidor RabbitMQ en Ubuntu 18.04 y 16.04 LTS

  4. Cómo instalar R en Ubuntu 18.04 LTS

  5. Cómo instalar R en Ubuntu 20.04 LTS

Cómo instalar ZoneMinder en Ubuntu 22.04 | 20.04 LTS

Cómo instalar PyCharm en Ubuntu 22.04 LTS

Cómo instalar CRI-O en Ubuntu 22.04 LTS

Cómo instalar RabbitMQ en Ubuntu 16.04

Cómo instalar RabbitMQ en Ubuntu 20.04 LTS

Cómo instalar RabbitMQ en Ubuntu 20.04