GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

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

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

Eine Message-Queueing-/Message-Broker-Software wird zum Senden und Empfangen von Nachrichten zwischen verteilten Systemen, Anwendungen und Diensten verwendet. RabbitMQ ist in der Programmiersprache Erlang geschrieben und bietet Unterstützung für Client-Schnittstellen und Bibliotheken für alle wichtigen Programmiersprachen, einschließlich Python, NodeJS, Java, PHP usw.

In diesem Tutorial zeige ich Ihnen, wie Sie einen RabbitMQ-Cluster auf Ubuntu 18.04 Server einrichten. Ich werde einen RabbitMQ-Cluster mit drei Ubuntu-Servern installieren, die RabbitMQ-Verwaltung aktivieren und die HA-Richtlinie für alle Knoten einrichten.

Voraussetzungen

  • 3 oder mehr Ubuntu 18.04-Server
    • 10.0.15.21 hakase-ubuntu01
    • 10.0.15.22 hakase-ubuntu02
    • 10.0.15.23 hakase-ubuntu03
  • Root-Rechte

Was werden wir tun?

  1. Setup-Hosts-Datei
  2. Installieren Sie RabbitMQ Server
  3. Verwaltungs-Plugins aktivieren
  4. UFW-Firewall einrichten
  5. RabbitMQ-Cluster einrichten
  6. Neuen Administratorbenutzer einrichten
  7. RabbitMQ-Setup-Warteschlangenspiegelung
  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 hakase-ubuntu01
10.0.15.22 hakase-ubuntu02
10.0.15.23 hakase-ubuntu03

Speichern und beenden.

Schritt 2 – RabbitMQ Server installieren

Stellen Sie vor der Installation des RabbitMQ-Servers sicher, dass alle Repositorys aktualisiert sind.

Führen Sie den folgenden Befehl aus.

sudo apt update
sudo apt upgrade

Installieren Sie nun die RabbitMQ-Serverpakete aus dem Ubuntu-Repository mit dem folgenden apt-Befehl.

sudo apt install rabbitmq-server -y

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 Ubuntu 18.04 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

RabbitMQ Management-Plugins wurden aktiviert.

Schritt 4 – UFW-Firewall einrichten

In diesem Tutorial aktivieren wir die Ubuntu UFW-Firewall. Wir müssen einige Ports öffnen, die vom RabbitMQ-Server verwendet werden.

Fügen Sie den ssh-Dienst zur UFW-Firewall hinzu und aktivieren Sie den Firewall-Dienst.

sudo ufw allow ssh
sudo ufw enable

Fügen Sie nun neue RabbitMQ-TCP-Ports „5672,15672,4369,25672“ hinzu.

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

Überprüfen Sie dann die Liste der UFW-Firewall-Ports.

sudo ufw status

Die Konfiguration der Ubuntu UFW-Firewall 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 „hakase-ubuntu01“ auf die anderen Knoten „hakase-ubuntu02“ und „hakase-ubuntu03“.

Kopieren Sie die ‚.erlang.cookie‘-Datei mit scp-Befehlen aus ‚hakase-ubuntu01‘.

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 „hakase-ubuntu02“ und „hakase-ubuntu03“ einrichten, um dem Cluster „hakase-ubuntu01“ beizutreten.

Hinweis:

  • Führen Sie die folgenden Befehle auf hakase-ubuntu02'- und 'hakase-ubuntu03'-Servern 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 ‚hakase-ubuntu01‘ 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 Ergebnisse wie folgt.

Der RabbitMQ-Cluster wurde mit hakase-ubuntu01, hakase-ubuntu02 und hakase-ubuntu03 als Mitgliedern erstellt.

Schritt 6 – Neuen Administratorbenutzer einrichten

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 von „hakase-ubuntu01“ 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 Ergebnis wie folgt.

Ein neuer RabbitMQ-Administratorbenutzer wurde erstellt und der standardmäßige Gastbenutzer wurde gelöscht.

Schritt 7 – RabbitMQ-Setup-Warteschlangenspiegelung

Standardmäßig befinden sich die Inhalte einer Warteschlange innerhalb eines RabbitMQ-Clusters auf einem einzelnen Knoten (dem Knoten, auf dem die Warteschlange deklariert wurde).

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.

Nachfolgend einige Beispiele zu 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 Hochverfügbarkeitsrichtlinie mit dem Namen „ha-nodes“ ein, die alle Warteschlangen enthält, deren Name mit „nodes“ beginnt. Wir werden auf zwei spezifische Knoten „hakase-ubuntu02“ und „hakase-ubuntu03“ im Cluster spiegeln.

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

RabbitMQ listet ha-Richtlinien auf.

sudo rabbitmqctl list_policies;

RabbitMQ löscht bestimmte ha-Richtlinien.

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 unten gezeigte RabbitMQ-Admin-Dashboard.

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 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 Ubuntu 18.04-Servern wurde erfolgreich abgeschlossen.


Ubuntu
  1. Wie richte ich einen MongoDB-Cluster mit 3 Knoten mit Ubuntu 16 ein?

  2. So richten Sie den RabbitMQ-Cluster unter CentOS 7 ein

  3. So installieren Sie RabbitMQ Server auf Ubuntu 18.04 &16.04 LTS

  4. So installieren Sie R unter Ubuntu 18.04 LTS

  5. So installieren Sie R unter Ubuntu 20.04 LTS

So installieren Sie ZoneMinder unter Ubuntu 22.04 | 20.04 LTS

So installieren Sie PyCharm unter Ubuntu 22.04 LTS

So installieren Sie CRI-O unter Ubuntu 22.04 LTS

So installieren Sie RabbitMQ unter Ubuntu 16.04

So installieren Sie RabbitMQ unter Ubuntu 20.04 LTS

So installieren Sie RabbitMQ unter Ubuntu 20.04