GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie den RabbitMQ-Cluster unter CentOS 7 ein

RabbitMQ ist eine Open-Source-Message-Broker-Software, die ursprünglich das AMQP-Protokoll (Advanced Message Queuing Protocol) implementiert, und während es entwickelt und erweitert wurde, um andere Protokolle wie STOMP (Streaming Text Oriented Messaging Protocol) und MQTT (Message Telemetrietransport in Warteschlange stellen).

RabbitMQ ist die Message-Queueing-Software, die das Senden und Empfangen von Nachrichten zwischen verteilten Systemen, Anwendungen und Diensten unterstützt. Es wurde mit der Programmiersprache Erlang geschrieben und unterstützt Client-Schnittstellen und Bibliotheken für alle wichtigen Programmiersprachen, einschließlich Python, NodeJS, Java, PHP usw.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie den RabbitMQ Cluster auf einem CentOS 7 Server einrichten. Wir werden den RabbitMQ-Cluster mit drei CentOS-Servern einrichten, die RabbitMQ-Verwaltung aktivieren und die HA-Richtlinie für alle Knoten einrichten.

Voraussetzungen

  • 3 oder mehr CentOS 7-Server
    • 10.0.15.21 node01
    • 10.0.15.22 node02
    • 10.0.15.23 node03
  • Root-Rechte

Was werden wir tun?

  1. Setup-Hosts-Datei
  2. Installieren Sie RabbitMQ Server
  3. RabbitMQ-Verwaltungs-Plugins aktivieren
  4. Firewalld konfigurieren
  5. RabbitMQ-Cluster einrichten
  6. Konfigurieren Sie einen neuen Admin-Benutzer
  7. Richten Sie die RabbitMQ-Warteschlangenspiegelung ein
  8. Testen

Schritt 1 - Hosts-Datei einrichten

In diesem Schritt bearbeiten wir die Datei „/etc/hosts“ auf allen Servern und ordnen jede Server-IP-Adresse einem Hostnamen zu.

Bearbeiten Sie die Datei „/etc/hosts“ mit dem vim-Editor.

sudo vim /etc/hosts

Fügen Sie dort nun folgende Konfiguration ein.

10.0.15.21 node01
10.0.15.22 node02
10.0.15.23 node03

Speichern und beenden.

Schritt 2 – RabbitMQ Server installieren

In diesem Schritt installieren wir die RabbitMQ Server-Pakete aus dem EPEL-Repository (Extra Packages for Enterprise Linux).

Fügen Sie das EPEL-Repository zum CentOS 7-System hinzu.

sudo yum -y install epel-release

Installieren Sie jetzt RabbitMQ Server auf allen Knoten 'node01', 'node02' und 'node03' mit dem untenstehenden yum-Befehl.

sudo yum -y install rabbitmq-server

Starten Sie nach Abschluss der Installation den RabbitMQ-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

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

Der RabbitMQ-Server wurde auf allen Knotenclustern CentOS 7 installiert.

Schritt 3 – RabbitMQ-Verwaltungs-Plugins aktivieren

In diesem Schritt aktivieren wir die RabbitMQ-Management-Plugins. Es ist eine Schnittstelle, mit der Sie den RabbitMQ-Server über den Webbrowser überwachen und verwalten können, der auf dem Standard-TCP-Port „15672“ ausgeführt wird.

Aktivieren Sie die RabbitMQ-Verwaltungs-Plugins, indem Sie den folgenden Befehl ausführen.

sudo rabbitmq-plugins enable rabbitmq_management

Stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den RabbitMQ-Dienst neu.

sudo systemctl restart rabbitmq-server

Und das RabbitMQ-Management wurde aktiviert.

Schritt 4 – Konfigurieren Sie CentOS Firewalld

In diesem Tutorial aktivieren wir den CentOS-Firewalld-Dienst, daher müssen wir den Port öffnen, der vom RabbitMQ-Server verwendet wird.

Wir werden den Port öffnen, der den RabbitMQ-Server „5672“, den Port für die RabbitMQ-Verwaltung „15672“ und die Ports für den RabbitMQ-Cluster „4369, 25672“ verwendet.

Führen Sie die folgenden Firewalld-Befehle aus.

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

Laden Sie jetzt firewalld neu und überprüfen Sie alle geöffneten Ports in der Liste.

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

Die CentOS-Firewalld-Konfiguration ist abgeschlossen und wir sind bereit, den RabbitMQ-Cluster einzurichten.

Schritt 5 – RabbitMQ-Cluster einrichten

Um den RabbitMQ-Cluster einzurichten, müssen wir sicherstellen, dass die Datei „.erlang.cookie“ auf allen Knoten gleich ist. Wir kopieren die Datei „.erlang.cookie“ im Verzeichnis „/var/lib/rabbitmq“ von „node01“ auf die anderen Knoten „node02“ und „node03“.

Kopieren Sie die '.erlang.cookie'-Datei mit scp-Befehlen aus dem 'node01'.

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

Stellen Sie sicher, dass auf beiden Servern kein Fehler vorliegt.

Als nächstes müssen wir „node02“ und „node03“ einrichten, um dem Cluster „node01“ beizutreten.

Führen Sie alle untenstehenden Befehle auf den Servern „node02“ und „node03“ aus.

Starten Sie den RabbitMQ-Dienst neu und stoppen Sie die App.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Lassen Sie nun den RabbitMQ-Server auf beiden Knoten dem Cluster auf „Knoten01“ beitreten und starten Sie dann die App.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Überprüfen Sie nach Abschluss den Status des RabbitMQ-Clusters.

sudo rabbitmqctl cluster_status

Und Sie erhalten die unten gezeigten Ergebnisse.

Auf dem 'node02'.

Auf dem 'node03'.

Der RabbitMQ-Cluster wurde mit node01, node02 und node03 als Mitgliedern erstellt.

Schritt 6 – Erstellen Sie einen neuen Administrator-Benutzer

In diesem Tutorial erstellen wir einen neuen Admin-Benutzer für unseren RabbitMQ-Server und löschen den Standardbenutzer „guest“. Wir werden einen neuen Benutzer aus „node01“ erstellen und er wird automatisch auf alle Knoten im Cluster repliziert.

Fügen Sie einen neuen Benutzer namens „hakase“ mit dem Passwort „[email protected]“ hinzu.

sudo rabbitmqctl add_user hakase [email protected]

Richten Sie den Benutzer „hakase“ als Administrator ein.

sudo rabbitmqctl set_user_tags hakase administrator

Und erteilen Sie dem Benutzer „hakase“ die Berechtigung, alle vhosts zu ändern, zu schreiben und zu lesen.

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

Löschen Sie nun den Standard-'Gast'-Benutzer.

sudo rabbitmqctl delete_user guest

Und überprüfen Sie alle verfügbaren Benutzer.

sudo rabbitmqctl list_users

Und Sie erhalten das unten gezeigte Ergebnis.

Ein neuer RabbitMQ-Benutzer wurde erstellt und der standardmäßige „Gast“-Benutzer wurde gelöscht.

Schritt 7 – RabbitMQ-Setup-Warteschlangenspiegelung

Dieses Setup ist ein Muss, wir müssen den Cluster „ha policy“ für die Warteschlangenspiegelung und Replikation auf alle Clusterknoten konfigurieren. Wenn der Knoten, der den Warteschlangen-Master hostet, ausfällt, wird der älteste Spiegel auf den neuen Master hochgestuft, solange er synchronisiert ist, abhängig von den 'ha-mode'- und 'ha-params'-Richtlinien.

Im Folgenden finden Sie einige Beispiele zu den RabbitMQ ha-Richtlinien.

Richten Sie eine Richtlinie namens „ha-all“ ein, die alle Warteschlangen im RabbitMQ-Cluster auf alle Knoten im Cluster spiegeln.

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

Richten Sie eine Richtlinie mit dem Namen „ha-two“ ein, bei der alle Warteschlangennamen mit „two“ beginnen. wird auf die beiden Knoten im Cluster gespiegelt.

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

Richten Sie eine Richtlinie mit dem Namen „ha-nodes“ ein, bei der alle Warteschlangennamen mit „nodes“ beginnen. wird auf zwei spezifische Knoten „node02“ und „node03“ im Cluster gespiegelt.

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

Überprüfen Sie nun alle verfügbaren Richtlinien mit dem folgenden Befehl.

sudo rabbitmqctl list_policies;

Und wenn Sie die Richtlinie entfernen möchten, verwenden Sie den folgenden Befehl.

sudo rabbitmqctl clear_policy ha-two

Schritt 8 – Testen

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Knotens mit Port „15672“ ein.

http://10.0.15.21:15672/

Geben Sie den Nutzernamen „hakase“ mit dem Passwort „[email protected]“ ein.

Und Sie erhalten das RabbitMQ-Admin-Dashboard wie folgt.

Der Status aller Cluster-Knoten ist betriebsbereit.

Klicken Sie nun auf das Registerkartenmenü „Admin“ und dann auf das Menü „Benutzer“ an der Seite.

Und Sie erhalten den Hakase-Benutzer auf der Liste.

Klicken Sie nun auf das Registerkartenmenü „Admin“ und dann auf das Menü „Richtlinien“ an der Seite.

Und Sie erhalten alle von uns erstellten RabbitMQ ha-Richtlinien.

Die Installation und Konfiguration des RabbitMQ-Clusters auf dem CentOS 7-Server wurde erfolgreich abgeschlossen.


Cent OS
  1. So installieren Sie einen Kubernetes-Cluster unter CentOS 7

  2. So installieren Sie Vagrant unter CentOS 7

  3. So installieren Sie Gitea unter CentOS 8

  4. So richten Sie WireGuard VPN unter CentOS 8 ein

  5. So installieren Sie Memcached auf CentOS 8

So installieren Sie Memcached auf CentOS 7

So installieren Sie PHP unter CentOS 8

So richten Sie den RabbitMQ-Cluster unter Ubuntu 18.04 LTS ein

So richten Sie den RabbitMQ-Cluster unter Ubuntu 20.04 ein

So installieren und konfigurieren Sie Gitlab CE Server auf Centos 8

So installieren Sie RabbitMQ unter CentOS 8