GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare il cluster RabbitMQ su CentOS 7

RabbitMQ è un software di brokeraggio di messaggi open source che implementa originariamente il protocollo AMQP (Advanced Message Queuing Protocol), mentre è stato sviluppato ed esteso per supportare altri protocolli come STOMP (Streaming Text Oriented Messaging Protocol) e MQTT (Message Accodamento del trasporto di telemetria).

RabbitMQ è il software di accodamento messaggi che offre supporto per l'invio e la ricezione di messaggi tra sistemi distribuiti, applicazioni e servizi. È scritto con il linguaggio di programmazione Erlang e supporta interfacce client e librerie per tutti i principali linguaggi di programmazione inclusi Python, NodeJS, Java, PHP ecc.

In questo tutorial, ti mostrerò passo dopo passo come configurare il cluster RabbitMQ su un server CentOS 7. Configurare il cluster RabbitMQ utilizzando tre server CentOS, abilitare la gestione RabbitMQ e configurare la politica HA per tutti i nodi.

Prerequisiti

  • 3 o più server CentOS 7
    • 10.0.15.21 nodo01
    • 10.0.15.22 nodo02
    • 10.0.15.23 nodo03
  • Privilegi di root

Cosa faremo?

  1. File di configurazione degli host
  2. Installa il server RabbitMQ
  3. Abilita i plug-in di gestione RabbitMQ
  4. Configura Firewalld
  5. Impostazione del cluster RabbitMQ
  6. Configura un nuovo utente amministratore
  7. Imposta il mirroring della coda di RabbitMQ
  8. Test

Passaggio 1 - Configurazione del file host

In questo passaggio, modificheremo il file '/etc/hosts' su tutti i server e mapperemo ogni indirizzo IP del server come nome host.

Modifica il file '/etc/hosts' utilizzando l'editor vim.

sudo vim /etc/hosts

Ora incolla lì la seguente configurazione.

10.0.15.21 node01
10.0.15.22 node02
10.0.15.23 node03

Salva ed esci.

Passaggio 2 - Installa il server RabbitMQ

In questo passaggio, installeremo i pacchetti RabbitMQ Server dal repository EPEL (Extra Packages for Enterprise Linux).

Aggiungi il repository EPEL al sistema CentOS 7.

sudo yum -y install epel-release

Ora installa RabbitMQ Server su tutti i nodi 'node01', 'node02' e 'node03' usando il comando yum di seguito.

sudo yum -y install rabbitmq-server

E al termine dell'installazione, avvia il servizio RabbitMQ e abilitalo per l'avvio ogni volta all'avvio del sistema.

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

Il server RabbitMQ è stato installato su tutti i cluster di nodi CentOS 7.

Passaggio 3 - Abilita i plug-in di gestione RabbitMQ

In questo passaggio, abiliteremo i plug-in di gestione di RabbitMQ. È un'interfaccia che ti consente di monitorare e gestire il server RabbitMQ dal browser web, in esecuzione sulla porta TCP predefinita '15672'.

Abilita i plug-in di gestione di RabbitMQ eseguendo il comando seguente.

sudo rabbitmq-plugins enable rabbitmq_management

Assicurati che non ci siano errori, quindi riavvia il servizio RabbitMQ.

sudo systemctl restart rabbitmq-server

E la Gestione RabbitMQ è stata abilitata.

Passaggio 4 - Configura CentOS Firewalld

In questo tutorial, abiliteremo il servizio firewalld CentOS, quindi dobbiamo aprire la porta utilizzata dal server RabbitMQ.

Apriremo la porta che utilizza il server RabbitMQ '5672', la porta per la gestione RabbitMQ '15672' e le porte per il cluster RabbitMQ '4369, 25672'.

Esegui i seguenti comandi firewalld.

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

Ora ricarica firewalld e controlla tutte le porte aperte nell'elenco.

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

La configurazione del firewalld CentOS è stata completata e siamo pronti per configurare il cluster RabbitMQ.

Passaggio 5:configurazione del cluster RabbitMQ

Per configurare il cluster RabbitMQ, dobbiamo assicurarci che il file '.erlang.cookie' sia lo stesso su tutti i nodi. Copieremo il file '.erlang.cookie' nella directory '/var/lib/rabbitmq' da 'node01' all'altro nodo 'node02' e 'node03'.

Copia il file '.erlang.cookie' usando i comandi scp dal 'node01'.

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

Assicurati che non ci siano errori su entrambi i server.

Successivamente, dobbiamo configurare 'node02' e 'node03' per entrare a far parte del cluster 'node01'.

Esegui tutti i comandi seguenti sui server 'node02' e 'node03'.

Riavvia il servizio RabbitMQ e arresta l'app.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Ora lascia che il server RabbitMQ su entrambi i nodi si unisca al cluster su "node01", quindi avvia l'app.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Al termine, controlla lo stato del cluster RabbitMQ.

sudo rabbitmqctl cluster_status

E otterrai i risultati come mostrato di seguito.

Sul 'nodo02'.

Sul 'nodo03'.

Il Cluster RabbitMQ è stato creato, con node01, node02 e node03 come membri.

Passaggio 6:crea un nuovo utente amministratore

In questo tutorial creeremo un nuovo utente amministratore per il nostro server RabbitMQ ed elimineremo l'utente "ospite" predefinito. Creeremo un nuovo utente da 'node01' e verrà automaticamente replicato su tutti i nodi del cluster.

Aggiungi un nuovo utente chiamato "hakase" con la password "[email protected]".

sudo rabbitmqctl add_user hakase [email protected]

Configura l'utente 'hakase' come amministratore.

sudo rabbitmqctl set_user_tags hakase administrator

E concedi all'utente 'hakase' il permesso di modificare, scrivere e leggere tutti i vhost.

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

Ora elimina l'utente "ospite" predefinito.

sudo rabbitmqctl delete_user guest

E controlla tutti gli utenti disponibili.

sudo rabbitmqctl list_users

E otterrai il risultato come mostrato di seguito.

È stato creato un nuovo utente RabbitMQ e l'utente predefinito "ospite" è stato eliminato.

Passaggio 7 - Mirroring della coda di configurazione di RabbitMQ

Questa configurazione è necessaria, è necessario configurare il cluster "ha policy" per il mirroring della coda e la replica su tutti i nodi del cluster. Se il nodo che ospita il queue master si guasta, il mirror più vecchio verrà promosso al nuovo master purché sia ​​sincronizzato, dipende dalle politiche 'ha-mode' e 'ha-params'.

Di seguito sono riportati alcuni esempi sulle politiche di RabbitMQ ha.

Imposta la policy ha denominata 'ha-all' di cui tutte le code nel cluster RabbitMQ eseguiranno il mirroring su tutti i nodi del cluster.

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

Imposta la politica ha denominata 'ha-two' in cui tutti i nomi di coda iniziano con 'two.' eseguirà il mirroring sui due nodi del cluster.

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

Imposta la politica ha denominata 'ha-nodes' in cui tutti i nomi di coda iniziano con 'nodi.' eseguirà il mirroring su due nodi specifici 'node02' e 'node03' sul cluster.

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

Ora controlla tutte le politiche disponibili usando il comando qui sotto.

sudo rabbitmqctl list_policies;

E se vuoi rimuovere la politica, usa il seguente comando.

sudo rabbitmqctl clear_policy ha-two

Fase 8 - Test

Apri il tuo browser web e digita l'indirizzo IP del nodo con la porta '15672'.

http://10.0.15.21:15672/

Digita il nome utente "hakase" con la password "[email protected]".

E otterrai la dashboard di amministrazione di RabbitMQ come di seguito.

Lo stato di tutti i nodi del cluster è attivo e funzionante.

Ora fai clic sul menu della scheda "Amministrazione" e fai clic sul menu "Utenti" a lato.

E otterrai l'utente hakase nell'elenco.

Ora fai clic sul menu della scheda "Amministrazione" e fai clic sul menu "Politiche" a lato.

E otterrai tutte le politiche RabbitMQ ha che abbiamo creato.

L'installazione e la configurazione di RabbitMQ Cluster sul server CentOS 7 sono state completate correttamente.


Cent OS
  1. Come installare un cluster Kubernetes su CentOS 7

  2. Come installare Vagrant su CentOS 7

  3. Come installare Gitea su CentOS 8

  4. Come configurare WireGuard VPN su CentOS 8

  5. Come installare Memcached su CentOS 8

Come installare Memcached su CentOS 7

Come installare PHP su CentOS 8

Come configurare il cluster RabbitMQ su Ubuntu 18.04 LTS

Come configurare il cluster RabbitMQ su Ubuntu 20.04

Come installare e configurare Gitlab CE Server su Centos 8

Come installare RabbitMQ su CentOS 8