GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit RabbitMQ Cluster na Ubuntu 18.04 LTS

RabbitMQ je open source software pro zprostředkovatele zpráv, který původně implementoval 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 ( Přenos telemetrie ve frontě zpráv).

K odesílání a přijímání zpráv mezi distribuovanými systémy, aplikacemi a službami se používá software pro řazení zpráv / zprostředkovatele zpráv. RabbitMQ je napsán v programovacím jazyce Erlang, nabízí podporu klientských rozhraní a knihoven pro všechny hlavní programovací jazyky včetně Pythonu, NodeJS, Java, PHP atd.

V tomto tutoriálu vám ukážu, jak nastavit klastr RabbitMQ na serveru Ubuntu 18.04. Nainstaluji si RabbitMQ Cluster pomocí tří serverů Ubuntu, povolím správu RabbitMQ a nastavím zásady HA pro všechny uzly.

Předpoklady

  • 3 nebo více serverů Ubuntu 18.04
    • 10.0.15.21 hakase-ubuntu01
    • 10.0.15.22 hakase-ubuntu02
    • 10.0.15.23 hakase-ubuntu03
  • Oprávnění uživatele root

Co uděláme?

  1. Nastavit soubor Hosts
  2. Nainstalujte RabbitMQ Server
  3. Povolit moduly plug-in pro správu
  4. Nastavení brány UFW Firewall
  5. Nastavení RabbitMQ Cluster
  6. Nastavit nového administrátora
  7. RabbitMQ Setup 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 hakase-ubuntu01
10.0.15.22 hakase-ubuntu02
10.0.15.23 hakase-ubuntu03

Uložte a ukončete.

Krok 2 – Instalace RabbitMQ Server

Před instalací serveru RabbitMQ se ujistěte, že jsou všechna úložiště aktualizována.

Spusťte následující příkaz.

sudo apt update
sudo apt upgrade

Nyní nainstalujte serverové balíčky RabbitMQ z úložiště Ubuntu pomocí příkazu apt níže.

sudo apt install rabbitmq-server -y

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 Ubuntu 18.04.

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

Pluginy RabbitMQ Management byly povoleny.

Krok 4 – Nastavení brány UFW Firewall

V tomto tutoriálu povolíme firewall Ubuntu UFW. Potřebujeme otevřít některé porty, které bude používat server RabbitMQ.

Přidejte službu ssh do brány firewall UFW a povolte službu brány firewall.

sudo ufw allow ssh
sudo ufw enable

Nyní přidejte nové tcp porty RabbitMQ '5672,15672,4369,25672'.

sudo ufw allow 5672,15672,4369,25672/tcp

Poté zkontrolujte seznam portů brány firewall UFW.

sudo ufw status

Konfigurace Ubuntu UFW firewallu 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 'hakase-ubuntu01' do jiného uzlu 'hakase-ubuntu02' a 'hakase-ubuntu03'.

Zkopírujte soubor '.erlang.cookie' pomocí příkazů scp z 'hakase-ubuntu01'.

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 'hakase-ubuntu02' a 'hakase-ubuntu03', abychom se připojili ke clusteru 'hakase-ubuntu01'.

Poznámka:

  • Spusťte níže uvedené příkazy na serverech hakase-ubuntu02' a 'hakase-ubuntu03'.

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 'hakase-ubuntu01' 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.

Byl vytvořen RabbitMQ Cluster, jehož členy jsou hakase-ubuntu01, hakase-ubuntu02 a hakase-ubuntu03.

Krok 6 – Nastavení 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 'hakase-ubuntu01' 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 uvedeno níže.

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

Krok 7 – RabbitMQ Setup Queue Mirroring

Ve výchozím nastavení je obsah fronty v klastru RabbitMQ umístěn na jediném uzlu (uzlu, na kterém byla fronta deklarována).

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íže je 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"}'

Nastavte zásadu vysoké dostupnosti s názvem 'ha-nodes', která bude obsahovat všechny fronty, kde název začíná 'nodes'. Budeme zrcadlit dva specifické uzly 'hakase-ubuntu02' a 'hakase-ubuntu03' v clusteru.

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

Seznam RabbitMQ má zásady.

sudo rabbitmqctl list_policies;

RabbitMQ odstranit konkrétní zásady ha.

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 znázorněno 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 serverech Ubuntu 18.04 byly úspěšně dokončeny.


Ubuntu
  1. Jak nainstalovat RabbitMQ Server na Ubuntu 18.04 &16.04 LTS

  2. Jak nainstalovat R na Ubuntu 18.04 LTS

  3. Jak nainstalovat R na Ubuntu 20.04 LTS

  1. Jak nastavit MongoDB Cluster pomocí 3 uzlů s Ubuntu 16?

  2. Jak nastavit RabbitMQ Cluster na CentOS 7

  3. Jak nainstalovat OctoberCMS na Ubuntu 16.04 LTS

  1. Jak nainstalovat AbanteCart na Ubuntu 16.04 LTS

  2. Jak nainstalovat Hubzilla na Ubuntu 18.04 LTS

  3. Jak nainstalovat ERPNext na Ubuntu 18.04 LTS