GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le cluster RabbitMQ sur CentOS 7

RabbitMQ est un logiciel de courtage de messages open source qui implémente à 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 (Message Mise en file d'attente du transport de télémétrie).

RabbitMQ est le logiciel de mise en file d'attente de messages qui prend en charge l'envoi et la réception de messages entre des systèmes, des applications et des services distribués. Il est écrit avec le langage de programmation Erlang et prend en charge les interfaces client et les bibliothèques pour tous les principaux langages de programmation, y compris Python, NodeJS, Java, PHP, etc.

Dans ce tutoriel, je vais vous montrer étape par étape comment configurer le cluster RabbitMQ sur un serveur CentOS 7. Nous allons configurer le cluster RabbitMQ à l'aide de trois serveurs CentOS, activer la gestion RabbitMQ et configurer la politique HA pour tous les nœuds.

Prérequis

  • 3 serveurs CentOS 7 ou plus
    • 10.0.15.21 node01
    • 10.0.15.22 node02
    • 10.0.15.23 node03
  • 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 RabbitMQ
  4. Configurer le pare-feu
  5. Configurer le cluster RabbitMQ
  6. Configurer un nouvel utilisateur administrateur
  7. Configurer la mise en miroir de la file d'attente 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 node01
10.0.15.22 node02
10.0.15.23 node03

Enregistrez et quittez.

Étape 2 - Installer le serveur RabbitMQ

Dans cette étape, nous allons installer les packages RabbitMQ Server à partir du référentiel EPEL (Extra Packages for Enterprise Linux).

Ajoutez le référentiel EPEL au système CentOS 7.

sudo yum -y install epel-release

Installez maintenant RabbitMQ Server sur tous les nœuds 'node01', 'node02' et 'node03' à l'aide de la commande yum ci-dessous.

sudo yum -y install rabbitmq-server

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 tous les clusters de nœuds CentOS 7.

É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

Et la gestion RabbitMQ a été activée.

Étape 4 - Configurer le pare-feu CentOSd

Dans ce didacticiel, nous allons activer le service de pare-feu CentOS, nous devons donc ouvrir le port utilisé par le serveur RabbitMQ.

Nous allons ouvrir le port qui utilise le serveur RabbitMQ '5672', le port pour la gestion RabbitMQ '15672' et les ports pour le cluster RabbitMQ '4369, 25672'.

Exécutez les commandes firewalld suivantes.

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

Maintenant, rechargez firewalld et vérifiez tous les ports ouverts de la liste.

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

La configuration du pare-feu CentOS 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 'node01' vers les autres nœuds 'node02' et 'node03'.

Copiez le fichier '.erlang.cookie' en utilisant les commandes scp du 'node01'.

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 'node02' et 'node03' pour rejoindre le cluster 'node01'.

Exécutez toutes les commandes ci-dessous sur les serveurs 'node02' et 'node03'.

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 'node01', 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 comme indiqué ci-dessous.

Sur le 'noeud02'.

Sur le 'noeud03'.

Le cluster RabbitMQ a été créé, avec node01, node02 et node03 comme membres.

Étape 6 - Créer 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 'node01', 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 comme indiqué ci-dessous.

Un nouvel utilisateur 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

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

Voici 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 la politique ha nommée "ha-nodes" dont tous les noms de file d'attente commencent par "nodes". sera mis en miroir sur deux nœuds spécifiques 'node02' et 'node03' sur le cluster.

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

Vérifiez maintenant toutes les stratégies disponibles à l'aide de la commande ci-dessous.

sudo rabbitmqctl list_policies;

Et si vous souhaitez supprimer la stratégie, utilisez la commande suivante.

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 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 le serveur CentOS 7 ont été effectuées avec succès.


Cent OS
  1. Comment installer un cluster Kubernetes sur CentOS 7

  2. Comment installer Vagrant sur CentOS 7

  3. Comment installer Gitea sur CentOS 8

  4. Comment configurer WireGuard VPN sur CentOS 8

  5. Comment installer Memcached sur CentOS 8

Comment installer Memcached sur CentOS 7

Comment installer PHP sur CentOS 8

Comment configurer le cluster RabbitMQ sur Ubuntu 18.04 LTS

Comment configurer le cluster RabbitMQ sur Ubuntu 20.04

Comment installer et configurer Gitlab CE Server sur Centos 8

Comment installer RabbitMQ sur CentOS 8