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:
- C:\Windows\System32\config\systemprofile
- %HOMEDRIVE%%HOMEPATH%
Dies führt normalerweise zu C:\Users\<username>
- 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\.
NOTE: Wenn sich die Incident Manager-Rolle auf einem separaten Computer befindet, müssen Sie die Zertifikate vom RabbitMQ-Server auf den Server kopieren, auf dem sich die Incident Manager-Rolle befindet.
Ä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.config-Datei in Notepad.
Standardmäßig befindet sich die RabbitMQ-Konfigurationsdatei RabbitMQ.config im Ordner C:\Program Files (x86)\Genetec\RabbitMQ\.Tip: Die Verwendung von Notepad++ mit Matlab als Sprache verbessert die Lesbarkeit der Datei.
-
Navigieren Sie zu Zeile 118 und fügen Sie in den Codezeilen nach } ein Komma ein (siehe unten):
-
Navigieren Sie zu Zeile 303 und ändern Sie sie von:
%% {cluster_partition_handling, ignore},
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:
C:\Program Files\erl10.2\erts-10.2\bin\erlsrv: Service RabbitMQ removed from system
-
rabbitmq-service.bat install
Nach erfolgreicher Ausführung wird die folgende Meldung angezeigt:
C:\Program Files\erl10.2\erts-10.2\bin\erlsrv: Service RabbitMQ added to system
-
rabbitmq-service.bat start
Nach erfolgreicher Ausführung wird die folgende Meldung angezeigt:
The RabbitMQ service is starting. The RabbitMQ service was started successfully.
-
rabbitmq-service.bat remove
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.config-Datei in den Speicher geladen und die folgende Meldung wird angezeigt:
Application environment of node rabbit@<User>
-
Prüfen Sie, ob Ihre Änderungen korrekt implementiert wurden:
-
Stellen Sie sicher, dass Zeile 303 der angezeigten Datei wie folgt lautet:
{cluster_partition_handling, pause_minority}
- Wenn die Codezeile nicht wie im vorherigen Schritt angegeben lautet, ändern Sie sie entsprechend.
-
Stellen Sie sicher, dass Zeile 303 der angezeigten Datei wie folgt lautet:
Kopieren Sie die geänderte RabbitMQ.config-Datei auf die anderen Knoten:
-
Kopieren Sie die geänderte RabbitMQ.config-Datei aus dem Masterknoten.
Standardmäßig befindet sich die Konfigurationsdatei unter C:\Program Files (x86)\Genetec\RabbitMQ\.
-
Überschreiben Sie die vorhandene RabbitMQ.config-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.