GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le cluster RabbitMQ sur Ubuntu 18.04 LTS

RabbitMQ est un logiciel de courtage de messages open source qui implémentait à l'origine le protocole AMQP (Advanced Message Queuing Protocol), et bien qu'il ait été développé et étendu afin de prendre en charge d'autres protocoles tels que STOMP (Streaming Text Oriented Messaging Protocol) et MQTT ( Transport de télémétrie Message Queuing).

Un logiciel de mise en file d'attente de messages/courtier de messages est utilisé pour envoyer et recevoir des messages entre des systèmes, des applications et des services distribués. RabbitMQ est écrit dans le langage de programmation Erlang, il offre une prise en charge des interfaces client et des bibliothèques pour tous les principaux langages de programmation, y compris Python, NodeJS, Java, PHP, etc.

Dans ce tutoriel, je vais vous montrer comment configurer un cluster RabbitMQ sur le serveur Ubuntu 18.04. Je vais installer un cluster RabbitMQ à l'aide de trois serveurs Ubuntu, activer la gestion RabbitMQ et configurer la stratégie HA pour tous les nœuds.

Prérequis

  • 3 serveurs Ubuntu 18.04 ou plus
    • 10.0.15.21 hakase-ubuntu01
    • 10.0.15.22 hakase-ubuntu02
    • 10.0.15.23 hakase-ubuntu03
  • Privilèges root

Qu'allons-nous faire ?

  1. Fichier d'hôtes de configuration
  2. Installer le serveur RabbitMQ
  3. Activer les plugins de gestion
  4. Configurer le pare-feu UFW
  5. Configurer le cluster RabbitMQ
  6. Configurer un nouvel utilisateur administrateur
  7. Mise en miroir de la file d'attente de configuration de RabbitMQ
  8. Test

Étape 1 - Configurer le fichier Hosts

Dans cette étape, nous allons modifier le fichier '/etc/hosts' sur tous les serveurs et mapper chaque adresse IP de serveur en tant que nom d'hôte.

Modifiez le fichier "/etc/hosts" à l'aide de l'éditeur vim.

sudo vim /etc/hosts

Collez-y maintenant la configuration suivante.

10.0.15.21 hakase-ubuntu01
10.0.15.22 hakase-ubuntu02
10.0.15.23 hakase-ubuntu03

Enregistrez et quittez.

Étape 2 - Installer le serveur RabbitMQ

Avant d'installer le serveur RabbitMQ, assurez-vous que tous les référentiels sont mis à jour.

Exécutez la commande suivante.

sudo apt update
sudo apt upgrade

Installez maintenant les packages du serveur RabbitMQ à partir du référentiel Ubuntu à l'aide de la commande apt ci-dessous.

sudo apt install rabbitmq-server -y

Et une fois l'installation terminée, démarrez le service RabbitMQ et activez-le pour qu'il se lance à chaque démarrage du système.

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

Le serveur RabbitMQ a été installé sur Ubuntu 18.04.

Étape 3 - Activer les plugins de gestion RabbitMQ

Dans cette étape, nous allons activer les plugins de gestion RabbitMQ. Il s'agit d'une interface qui vous permet de surveiller et de gérer le serveur RabbitMQ à partir du navigateur Web, s'exécutant sur le port TCP par défaut '15672'.

Activez les plugins de gestion RabbitMQ en exécutant la commande ci-dessous.

sudo rabbitmq-plugins enable rabbitmq_management

Assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service RabbitMQ.

sudo systemctl restart rabbitmq-server

Les plug-ins de gestion RabbitMQ ont été activés.

Étape 4 - Configurer le pare-feu UFW

Dans ce tutoriel, nous allons activer le pare-feu Ubuntu UFW. Nous devons ouvrir certains ports qui seront utilisés par le serveur RabbitMQ.

Ajoutez le service ssh au pare-feu UFW et activez le service de pare-feu.

sudo ufw allow ssh
sudo ufw enable

Ajoutez maintenant les nouveaux ports tcp RabbitMQ '5672,15672,4369,25672'.

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

Vérifiez ensuite la liste des ports du pare-feu UFW.

sudo ufw status

La configuration du pare-feu Ubuntu UFW est terminée et nous sommes prêts à configurer le cluster RabbitMQ.

Étape 5 - Configurer le cluster RabbitMQ

Afin de configurer le cluster RabbitMQ, nous devons nous assurer que le fichier '.erlang.cookie' est le même sur tous les nœuds. Nous allons copier le fichier '.erlang.cookie' dans le répertoire '/var/lib/rabbitmq' de 'hakase-ubuntu01' vers l'autre nœud 'hakase-ubuntu02' et 'hakase-ubuntu03'.

Copiez le fichier '.erlang.cookie' en utilisant les commandes scp du 'hakase-ubuntu01'.

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

Assurez-vous qu'il n'y a pas d'erreur sur les deux serveurs.

Ensuite, nous devons configurer 'hakase-ubuntu02' et 'hakase-ubuntu03' pour rejoindre le cluster 'hakase-ubuntu01'.

Remarque :

  • Exécutez les commandes ci-dessous sur les serveurs hakase-ubuntu02' et 'hakase-ubuntu03'.

Redémarrez le service RabbitMQ et arrêtez l'application.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Laissez maintenant le serveur RabbitMQ sur les deux nœuds rejoindre le cluster sur 'hakase-ubuntu01', puis démarrez l'application.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Une fois terminé, vérifiez l'état du cluster RabbitMQ.

sudo rabbitmqctl cluster_status

Et vous obtiendrez les résultats ci-dessous.

Le cluster RabbitMQ a été créé, avec hakase-ubuntu01, hakase-ubuntu02 et hakase-ubuntu03 comme membres.

Étape 6 - Configurer un nouvel utilisateur administrateur

Dans ce didacticiel, nous allons créer un nouvel utilisateur administrateur pour notre serveur RabbitMQ et supprimer l'utilisateur "invité" par défaut. Nous allons créer un nouvel utilisateur à partir de "hakase-ubuntu01", et il sera automatiquement répliqué sur tous les nœuds du cluster.

Ajoutez un nouvel utilisateur nommé 'hakase' avec le mot de passe '[email protected]'.

sudo rabbitmqctl add_user hakase [email protected]

Configurez l'utilisateur 'hakase' en tant qu'administrateur.

sudo rabbitmqctl set_user_tags hakase administrator

Et accordez à l'utilisateur 'hakase' la permission de modifier, d'écrire et de lire tous les vhosts.

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

Supprimez maintenant l'utilisateur "invité" par défaut.

sudo rabbitmqctl delete_user guest

Et vérifiez tous les utilisateurs disponibles.

sudo rabbitmqctl list_users

Et vous obtiendrez le résultat ci-dessous.

Un nouvel utilisateur administrateur RabbitMQ a été créé et l'utilisateur "invité" par défaut est supprimé.

Étape 7 - Mise en miroir de la file d'attente de configuration de RabbitMQ

Par défaut, le contenu d'une file d'attente au sein d'un cluster RabbitMQ est situé sur un seul nœud (le nœud sur lequel la file d'attente a été déclarée).

Cette configuration est indispensable, nous devons configurer le cluster "ha policy" pour la mise en miroir de la file d'attente et la réplication sur tous les nœuds du cluster. Si le nœud qui héberge le maître de file d'attente échoue, le miroir le plus ancien sera promu au nouveau maître tant qu'il est synchronisé, cela dépend des politiques 'ha-mode' et 'ha-params'.

Ci-dessous quelques exemples sur les politiques ha de RabbitMQ.

Configurez la politique ha nommée 'ha-all' que toutes les files d'attente du cluster RabbitMQ mettront en miroir sur tous les nœuds du cluster.

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

Configurez la politique ha nommée "ha-two" dont tous les noms de file d'attente commencent par "two". sera mis en miroir sur les deux nœuds du cluster.

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

Configurez une politique de haute disponibilité nommée "ha-nodes" qui contiendra toutes les files d'attente dont le nom commence par "nodes". Nous mettrons en miroir deux nœuds spécifiques 'hakase-ubuntu02' et 'hakase-ubuntu03' dans le cluster.

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

RabbitMQ répertorie les politiques ha.

sudo rabbitmqctl list_policies;

RabbitMQ supprime une politique ha spécifique.

sudo rabbitmqctl clear_policy ha-two

Étape 8 - Tester

Ouvrez votre navigateur Web et tapez l'adresse IP du nœud avec le port '15672'.

http://10.0.15.21:15672/

Tapez le nom d'utilisateur 'hakase' avec le mot de passe '[email protected]'.

Et vous obtiendrez le tableau de bord d'administration RabbitMQ comme indiqué ci-dessous.

L'état de tous les nœuds du cluster est opérationnel.

Cliquez maintenant sur le menu de l'onglet "Admin", puis cliquez sur le menu "Utilisateurs" sur le côté.

Et vous obtiendrez l'utilisateur hakase sur la liste.

Cliquez maintenant sur le menu de l'onglet "Admin", puis cliquez sur le menu "Politiques" sur le côté.

Et vous obtiendrez toutes les politiques ha RabbitMQ que nous avons créées.

L'installation et la configuration de RabbitMQ Cluster sur les serveurs Ubuntu 18.04 ont été effectuées avec succès.


Ubuntu
  1. Comment configurer un cluster MongoDB à l'aide de 3 nœuds avec Ubuntu 16 ?

  2. Comment configurer le cluster RabbitMQ sur CentOS 7

  3. Comment installer le serveur RabbitMQ sur Ubuntu 18.04 et 16.04 LTS

  4. Comment installer R sur Ubuntu 18.04 LTS

  5. Comment installer R sur Ubuntu 20.04 LTS

Comment installer ZoneMinder sur Ubuntu 22.04 | 20.04 LTS

Comment installer PyCharm sur Ubuntu 22.04 LTS

Comment installer CRI-O sur Ubuntu 22.04 LTS

Comment installer RabbitMQ sur Ubuntu 16.04

Comment installer RabbitMQ sur Ubuntu 20.04 LTS

Comment installer RabbitMQ sur Ubuntu 20.04