Sådan opsætter du RabbitMQ Cluster på CentOS 7

RabbitMQ er en open source message-broker-software, der oprindeligt gennemfører protokollen AMQP (Advanced Message Queuing Protocol), og mens den er blevet udviklet og udvidet for at understøtte andre protokoller som STOMP (Streaming Text Oriented Messaging Protocol) og MQTT Queuing Telemetry Transport).

RabbitMQ er message-queueing-softwaren, der tilbyder support til afsendelse og modtagelse af meddelelser mellem distribuerede systemer, applikationer og tjenester. Den er skrevet med Erlangs programmeringssprog og understøtter klientinterfaces og biblioteker til alle større programmeringssprog, herunder Python, NodeJS, Java, PHP etc.

I denne vejledning vil jeg vise dig trin for trin hvordan du konfigurerer RabbitMQ Cluster på en CentOS 7 Server. Vi opretter RabbitMQ Cluster ved hjælp af tre CentOS-servere, aktiverer RabbitMQ Management og opsæt HA-politikken for alle noder.

Forudsætninger

  • 3 eller mere CentOS 7 Server
    • 10.0.15.21 node01
    • 10.0.15.22 node02
    • 10.0.15.23 node03
  • Root privilegier

Hvad vi vil gøre?

  1. Setup Hosts File
  2. Installer RabbitMQ Server
  3. Aktivér RabbitMQ Management Plugins
  4. Konfigurer Firewalld
  5. Setup RabbitMQ Cluster
  6. Konfigurer en ny administrationsbruger
  7. Setup RabbitMQ Queue Mirroring
  8. Test

Trin 1 - Setup Hosts File

I dette trin vil vi redigere filen '/ etc / hosts' på alle servere og kortlægge hver server-IP-adresse som værtsnavn.

Rediger '/ etc / hosts'-filen ved hjælp af vim editor.

sudo vim / etc / hosts

Indsæt nu følgende konfiguration der.

10.0.15.21 knude01 10.0.15.22 knude02 10.0.15.23 knude03

Gem og luk.

Trin 2 - Installer RabbitMQ Server

I dette trin installerer vi RabbitMQ Server pakkerne fra EPEL (Extra Packages for Enterprise Linux) repository.

Tilføj EPEL-depotet til CentOS 7-systemet.

sudo yum-du installerer epel-release

Installer nu RabbitMQ Server til alle noder 'node01', 'node02' og 'node03' ved hjælp af yum-kommandoen nedenfor.

sudo yum-du installerer rabbitmq-server

Og efter installationen er færdig, start RabbitMQ-tjenesten og aktiver den til at starte hver gang i systemstart.

sudo systemctl start rabbitmq-server
sudo systemctl aktivere rabbitmq-server

RabbitMQ Server er installeret på alle node cluster CentOS 7.

Trin 3 - Aktiver RabbitMQ Management Plugins

I dette trin vil vi aktivere RabbitMQ management plugins. Det er en grænseflade, der giver dig mulighed for at overvåge og håndtere RabbitMQ server fra webbrowseren, der kører på standard TCP port '15672'.

Aktivér RabbitMQ management plugins ved at køre kommandoen nedenfor.

sudo rabbitmq-plugins muliggør rabbitmq_management

Sørg for, at der ikke er nogen fejl, og start derefter RabbitMQ-tjenesten igen.

sudo systemctl genstart rabbitmq-server

Og RabbitMQ Management har været aktiveret.

Aktivér RabbitMQ Management Plugins

Trin 4 - Konfigurer CentOS Firewalld

I denne vejledning vil vi aktivere CentOS firewalld-tjenesten, så vi skal åbne porten, der bruges af RabbitMQ-serveren.

Vi åbner porten, der bruger RabbitMQ-serveren '5672', porten til RabbitMQ-ledelsen '15672' og havne til RabbitMQ-klyngen '4369, 25672'.

Kør følgende firewalld-kommandoer.

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

Nu genindlæs firewalld og tjek alle åbne porte på listen.

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

Konfigurer CentOS Firewalld

CentOS firewalld-konfigurationen er afsluttet, og vi er klar til at oprette RabbitMQ Cluster.

Trin 5 - Konfigurer RabbitMQ Cluster

For at kunne konfigurere RabbitMQ-klyngen skal vi sørge for, at '.lang.cookie'-filen er ens på alle knudepunkter. Vi kopierer filen '.lang.cookie' i mappen '/ var / lib / rabbitmq' fra 'node01' til anden node 'node02' og 'node03'.

Kopier filen '.lang.cookie' ved hjælp af SCP-kommandoer fra 'node01'.

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

Sørg for, at der ikke er nogen fejl på begge servere.

Opsæt RabbitMQ Cluster

Dernæst skal vi indstille 'node02' og 'node03' for at deltage i klyngen 'node01'.

Kør alle kommandoer nedenfor på serverne 'node02' og 'node03'.

Genstart RabbitMQ-tjenesten og stop appen.

sudo systemctl genstart rabbitmq-server
sudo rabbitmqctl stop_app

Lad nu RabbitMQ-serveren på begge knuder deltage i klyngen på 'node01', og start derefter appen.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Når det er færdigt, skal du kontrollere RabbitMQ-klyngestatusen.

sudo rabbitmqctl cluster_status

Og du får resultaterne som vist nedenfor.

På 'node02'.

Node 02

På 'node03'.

Node 03

RabbitMQ Cluster er oprettet, med node01, node02 og node03 som medlemmer.

Trin 6 - Opret en ny administrator bruger

I denne vejledning opretter vi en ny admin bruger til vores RabbitMQ server og sletter standard 'gæst' brugeren. Vi vil oprette en ny bruger fra 'node01', og det vil automatisk blive replikeret til alle noder på klyngen.

Tilføj en ny bruger ved navn 'hakase' med adgangskode '[email protected]'.

sudo rabbitmqctl add_user hakase [email protected]

Indstil hakase-brugeren som administrator.

sudo rabbitmqctl set_user_tags hakase administrator

Og give hakase-brugeren tilladelse til at ændre, skrive og læse alle vhosts.

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

Slet nu standard 'gæst' brugeren.

sudo rabbitmqctl delete_user gæst

Og tjek alle tilgængelige brugere.

sudo rabbitmql list_users

Og du får resultatet som vist nedenfor.

Opret RabbitMQ admin bruger

En ny RabbitMQ-bruger er blevet oprettet, og standardbrugeren "gæst" slettes.

Trin 7 - RabbitMQ Setup Queue Mirroring

Denne opsætning er nødt til, vi skal konfigurere 'ha policy'-klyngen for køespegling og replikation til alle klyngenoder. Hvis noden, der er vært for kømesteren, fejler, vil det ældste spejl blive fremmet til den nye mester, så længe det synkroniseres, afhænger af 'ha-mode' og 'ha-params'-politikkerne.

Følgende er nogle eksempler på RabbitMQ ha-politikkerne.

Opsætning ha-politik hedder 'ha-all', som alle køer på RabbitMQ-klyngen afspejler til alle noder på klyngen.

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

Opsætning ha politik hedder 'ha-two', som alle kø navn begynder med 'to.' vil spejle til de to noder på klyngen.

sudo rabbitmqctl set_policy ha-two "^ two."
'{ ’Ha-mode’:”præcis”,”ha-params”: 2,”ha-sync-mode”:”automatisk”}'

Setup ha-politik hedder 'ha-noder', som alle kønavn begynder med 'noder'. vil spejle til to specifikke noder 'node02' og 'node03' på klyngen.

sudo rabbitmqctl set_policy ha-noder "^ noder."
"{" Ha-mode ":" noder "," ha-params ": [" [email protected] "," [email protected] "}

Kontrollér nu alle tilgængelige politikker ved hjælp af kommandoen nedenfor.

sudo rabbitmqctl list_policies;

Og hvis du vil fjerne politikken, skal du bruge følgende kommando.

sudo rabbitmqctl clear_policy ha-two

RabbitMQ Setup Que Mirroring

Trin 8 - Testing

Åbn din webbrowser og skriv IP-adressen på noden med port '15672'.

http://10.0.15.21:15672/

Indtast brugernavnet 'hakase' med adgangskode '[email protected]'.

RabbitMQ Login

Og du vil få RabbitMQ admin dashboard som nedenfor.

RabbitMQ Dashboard

Alle cluster nodes status er i gang.

Klik nu på fanen 'Admin', og klik på 'Brugernes' menuen på siden.

Admin menu

Og du vil få hakase-brugeren på listen.

Klik nu på fanen 'Admin', og klik på menuen 'Politikker' på siden.

Betingelser

Og du vil få alle RabbitMQ ha-politikker, vi har oprettet.

Installationen og konfigurationen af ​​RabbitMQ Cluster på CentOS 7 serveren er blevet gennemført med succes.

Reference

Om Muhammad Arul

Muhammad Arul er freelance systemadministrator og teknisk forfatter. Han arbejder med Linux Miljøer i mere end 5 år, en open source-entusiast og meget motiveret til Linux installation og fejlfinding. Mest arbejder med RedHat / CentOS Linux og Ubuntu / Debian, Nginx og Apache webserver, Proxmox, Zimbra Administration og Website Optimization. I øjeblikket lærer man om OpenStack og Container Technology.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.