Ein RabbitMQ-Cluster ist eine Funktion, mit der Statusdaten und Konfigurationen mehrerer Knoten in einer vernetzten Echtzeitumgebung synchronisiert werden können. Es bietet zusätzlichen Failover-Schutz und in einigen Fällen Leistungssteigerungen.
Procedure
So erstellen Sie einen RabbitMQ-Cluster:
-
Kopieren Sie die .erlang.cookie-Dateien aus dem Masterknoten:
In einem Windows-System gibt es standardmäßig eine
.erlang.cookie-Datei an zwei verschiedenen Positionen im Masterknoten. Sie befinden sich hier:
-
Kopieren Sie die Cookies von jeder Position und überschreiben Sie die Cookie-Dateien im selben Dateipfad der Zielknoten.
-
Kopieren Sie die Zertifikatsdateien aus dem Masterknoten und überschreiben Sie sie auf die anderen Knoten:
- CACert.pem
- Cert.pem
- Fingerprint.txt
- Key.pem
Diese Dateien befinden sich standardmäßig im Ordner C:\Program Files (x86)\Genetec\RabbitMQ\.
Ändern Sie die RabbitMQ-Konfigurationsdateien auf dem Masterknoten, um die Partitionsbehandlung zu aktivieren:
-
Klicken Sie mit der rechten Maustaste auf die Notepad-Anwendung, wählen Sie Als Administrator ausführen aus und öffnen Sie anschließend die RabbitMQ.conf-Datei in Notepad.
Standardmäßig befindet sich die RabbitMQ-Konfigurationsdatei
RabbitMQ.config im Ordner
C:\ProgramData\Genetec\RabbitMQ\config.
Tip: Die Verwendung von Notepad++ mit Makefile als Sprache verbessert die Lesbarkeit der Datei.
-
Ändern Sie die folgende Zeile von:
# cluster_partition_handling = pause_minority
in:
cluster_partition_handling = pause_minority
Wenn Sie das
#
-Symbol entfernen, ist die Zeile nicht mehr als Kommentar gekennzeichnet und wird Teil des Codes.
-
Speichern Sie die Datei.
Installieren Sie den RabbitMQ-Dienst neu, um die Änderungen in der Konfigurationsdatei zu aktivieren:
-
Rechtsklicken Sie auf die RabbitMQ-Eingabeaufforderungsanwendung (sbin dir) und wählen Sie Als Administrator ausführen aus.
Diese Anwendung wird standardmäßig mit RabbitMQ installiert.
-
Führen Sie folgende Befehle aus:
-
rabbitmq-service.bat remove
Nach erfolgreicher Ausführung wird die folgende Meldung angezeigt:
RabbitMQ-Dienst vom System entfernt
-
rabbitmq-service.bat install
Nach erfolgreicher Ausführung wird die folgende Meldung angezeigt:
RabbitMQ-Dienst zum System hinzugefügt
-
rabbitmq-service.bat start
Nach erfolgreicher Ausführung wird die folgende Meldung angezeigt:
The RabbitMQ service is starting. The RabbitMQ service was started successfully.
Stellen Sie sicher, dass Ihre geänderte Konfigurationsdatei im Speicher geladen ist:
-
Führen Sie den folgenden Befehl in der RabbitMQ-Eingabeaufforderungsanwendung aus:
rabbitmqctl.bat environment
Bei erfolgreicher Ausführung wird der Inhalt der
RabbitMQ.conf-Datei in den Speicher geladen und die folgende Meldung wird in einem Format angezeigt, das einer
JSON-Datei ähnelt:
Application environment of node rabbit@<User>
-
Prüfen Sie, ob Ihre Änderungen korrekt implementiert wurden:
-
Stellen Sie sicher, dass die geänderte Konfiguration wie folgt lautet:
cluster_partition_handling = pause_minority
-
Wenn die Codezeile nicht wie im vorherigen Schritt angegeben lautet, ändern Sie sie entsprechend.
Kopieren Sie die geänderte RabbitMQ.conf-Datei in die anderen Knoten:
-
Kopieren Sie die geänderte RabbitMQ.conf-Datei aus dem Masterknoten.
Standardmäßig befindet sich die Konfigurationsdatei unter C:\ProgramData\Genetec\RabbitMQ\config\.
-
Überschreiben Sie die vorhandene RabbitMQ.conf-Datei im selben Dateipfad der Zielknoten.
Wir empfehlen, vor dem Überschreiben vorhandener Dateien eine Sicherung durchzuführen.
-
Installieren Sie den RabbitMQ-Dienst für jeden Knoten neu.