GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit RabbitMQ Cluster na CentOS 7

RabbitMQ je open source software pro zprostředkovatele zpráv, který původně implementuje protokol AMQP (Advanced Message Queuing Protocol), a přestože byl vyvinut a rozšířen, aby podporoval další protokoly, jako je STOMP (Streaming Text Oriented Messaging Protocol) a MQTT (Message Zařazení telemetrického přenosu do fronty).

RabbitMQ je software pro řazení zpráv, který nabízí podporu pro odesílání a přijímání zpráv mezi distribuovanými systémy, aplikacemi a službami. Je napsán programovacím jazykem Erlang a podporuje klientská rozhraní a knihovny pro všechny hlavní programovací jazyky včetně Pythonu, NodeJS, Java, PHP atd.

V tomto tutoriálu vám krok za krokem ukážu, jak nastavit RabbitMQ Cluster na serveru CentOS 7. Nastavíme RabbitMQ Cluster pomocí serverů Three CentOS, povolíme správu RabbitMQ a nastavíme politiku HA pro všechny uzly.

Předpoklady

  • 3 nebo více serverů CentOS 7
    • 10.0.15.21 uzel01
    • 10.0.15.22 uzel02
    • 10.0.15.23 uzel03
  • Oprávnění uživatele root

Co uděláme?

  1. Nastavit soubor Hosts
  2. Nainstalujte RabbitMQ Server
  3. Povolte moduly RabbitMQ Management Plugins
  4. Nakonfigurujte bránu firewall
  5. Nastavení RabbitMQ Cluster
  6. Nakonfigurujte nového administrátora
  7. Nastavení RabbitMQ Queue Mirroring
  8. Testování

Krok 1 – Nastavení souboru hostitelů

V tomto kroku upravíme soubor '/etc/hosts' na všech serverech a namapujeme IP adresu každého serveru jako název hostitele.

Upravte soubor '/etc/hosts' pomocí editoru vim.

sudo vim /etc/hosts

Nyní tam vložte následující konfiguraci.

10.0.15.21 node01
10.0.15.22 node02
10.0.15.23 node03

Uložte a ukončete.

Krok 2 – Instalace RabbitMQ Server

V tomto kroku nainstalujeme balíčky RabbitMQ Server z úložiště EPEL (Extra Packages for Enterprise Linux).

Přidejte úložiště EPEL do systému CentOS 7.

sudo yum -y install epel-release

Nyní nainstalujte RabbitMQ Server do všech uzlů 'node01', 'node02' a 'node03' pomocí příkazu yum níže.

sudo yum -y install rabbitmq-server

A po dokončení instalace spusťte službu RabbitMQ a povolte její spuštění při každém startu systému.

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

RabbitMQ Server byl nainstalován na všech uzlových clusterech CentOS 7.

Krok 3 – Povolení modulů RabbitMQ Management Plugins

V tomto kroku povolíme pluginy pro správu RabbitMQ. Je to rozhraní, které vám umožňuje monitorovat a ovládat RabbitMQ server z webového prohlížeče běžícího na výchozím TCP portu '15672'.

Povolte pluginy pro správu RabbitMQ spuštěním příkazu níže.

sudo rabbitmq-plugins enable rabbitmq_management

Ujistěte se, že nedošlo k žádné chybě, a poté restartujte službu RabbitMQ.

sudo systemctl restart rabbitmq-server

A správa RabbitMQ byla povolena.

Krok 4 – Konfigurace brány CentOS Firewalld

V tomto tutoriálu povolíme službu CentOS firewalld, takže musíme otevřít port, který používá server RabbitMQ.

Otevřeme port, který používá server RabbitMQ '5672', port pro správu RabbitMQ '15672' a porty pro cluster RabbitMQ '4369, 25672'.

Spusťte následující příkazy brány firewall.

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

Nyní znovu načtěte firewall a zkontrolujte všechny otevřené porty v seznamu.

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

Konfigurace CentOS firewalld byla dokončena a jsme připraveni nastavit RabbitMQ Cluster.

Krok 5 – Nastavení klastru RabbitMQ

Abychom mohli nastavit klastr RabbitMQ, musíme se ujistit, že soubor '.erlang.cookie' je stejný na všech uzlech. Zkopírujeme soubor '.erlang.cookie' v adresáři '/var/lib/rabbitmq' z 'node01' do jiného uzlu 'node02' a 'node03'.

Zkopírujte soubor '.erlang.cookie' pomocí příkazů scp z 'node01'.

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

Ujistěte se, že na obou serverech není žádná chyba.

Dále musíme nastavit 'node02' a 'node03', abychom se připojili ke clusteru 'node01'.

Spusťte všechny níže uvedené příkazy na serverech 'node02' a 'node03'.

Restartujte službu RabbitMQ a zastavte aplikaci.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Nyní nechte server RabbitMQ na obou uzlech připojit se ke clusteru na 'node01' a poté spusťte aplikaci.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Po dokončení zkontrolujte stav clusteru RabbitMQ.

sudo rabbitmqctl cluster_status

A získáte výsledky, jak je uvedeno níže.

Na 'node02'.

Na uzlu 'node03'.

Byl vytvořen klastr RabbitMQ, jehož členy jsou node01, node02 a node03.

Krok 6 – Vytvoření nového administrátora

V tomto tutoriálu vytvoříme nového administrátora pro náš server RabbitMQ a smažeme výchozího „hostujícího“ uživatele. Vytvoříme nového uživatele z 'node01' a bude automaticky replikován do všech uzlů v clusteru.

Přidejte nového uživatele s názvem „hakase“ s heslem „[email protected]“.

sudo rabbitmqctl add_user hakase [email protected]

Nastavte uživatele 'hakase' jako správce.

sudo rabbitmqctl set_user_tags hakase administrator

A udělte uživateli 'hakase' oprávnění upravovat, zapisovat a číst všechny vhosts.

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

Nyní smažte výchozího „hostujícího“ uživatele.

sudo rabbitmqctl delete_user guest

A zkontrolujte všechny dostupné uživatele.

sudo rabbitmqctl list_users

A dostanete výsledek, jak je ukázáno níže.

Byl vytvořen nový uživatel RabbitMQ a výchozí uživatel „host“ je smazán.

Krok 7 – RabbitMQ Setup Queue Mirroring

Toto nastavení je nutné, musíme nakonfigurovat cluster „ha policy“ pro zrcadlení fronty a replikaci do všech uzlů clusteru. Pokud selže uzel, který je hostitelem hlavního serveru front, nejstarší zrcadlo bude povýšeno na nový hlavní server, pokud bude synchronizováno, v závislosti na zásadách 'ha-mode' a 'ha-params'.

Následuje několik příkladů zásad RabbitMQ ha.

Nastavení má zásady s názvem 'ha-all', které budou všechny fronty v clusteru RabbitMQ zrcadlit do všech uzlů v clusteru.

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

Nastavení má zásadu s názvem 'ha-two', přičemž všechny názvy fronty začínají 'dvě'. bude zrcadlit do dvou uzlů v clusteru.

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

Nastavení má zásadu pojmenovanou 'ha-nodes', přičemž všechny názvy fronty začínají 'nodes'. bude zrcadlit do dvou specifických uzlů 'node02' a 'node03' v clusteru.

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

Nyní zkontrolujte všechny dostupné zásady pomocí příkazu níže.

sudo rabbitmqctl list_policies;

A pokud chcete zásadu odstranit, použijte následující příkaz.

sudo rabbitmqctl clear_policy ha-two

Krok 8 – Testování

Otevřete webový prohlížeč a zadejte IP adresu uzlu s portem '15672'.

http://10.0.15.21:15672/

Zadejte uživatelské jméno „hakase“ s heslem „[email protected]“.

A získáte ovládací panel správce RabbitMQ, jak je uvedeno níže.

Stav všech uzlů clusteru je v provozu.

Nyní klikněte na nabídku karty „Správce“ a poté na postranní nabídku „Uživatelé“.

A dostanete uživatele hakase na seznam.

Nyní klikněte na nabídku karty 'Správce' a poté na boční nabídku 'Zásady'.

A získáte všechny zásady RabbitMQ ha, které jsme vytvořili.

Instalace a konfigurace RabbitMQ Cluster na serveru CentOS 7 byla úspěšně dokončena.


Cent OS
  1. Jak nainstalovat Kubernetes Cluster na CentOS 7

  2. Jak nainstalovat Vagrant na CentOS 7

  3. Jak nainstalovat Gitea na CentOS 8

  1. Jak nastavit WireGuard VPN na CentOS 8

  2. Jak nainstalovat Memcached na CentOS 8

  3. Jak nainstalovat Nginx na CentOS 7

  1. Jak nainstalovat Apache na CentOS 7

  2. Jak vytvořit uživatele Sudo na CentOS

  3. Jak nainstalovat Tomcat 8.5 na CentOS 7