Si të konfiguroni RabbitMQ Cluster në CentOS 7


RabbitMQ është një softuer i ndërmjetësimit të mesazheve me burim të hapur që fillimisht zbaton protokollin AMQP (Advanced Message Queuing Protocol) dhe ndërkohë që është zhvilluar dhe zgjeruar për të mbështetur protokolle të tjera si STOMP (Protokolli i Mesazheve të Orientuar me Tekst Streaming) dhe MQTT (Message). Transporti telemetrik në radhë).

RabbitMQ është softueri i radhës së mesazheve që ofron mbështetje për dërgimin dhe marrjen e mesazheve ndërmjet sistemeve, aplikacioneve dhe shërbimeve të shpërndara. Është shkruar me gjuhën e programimit Erlang dhe mbështet ndërfaqet dhe bibliotekat e klientëve për të gjitha gjuhët kryesore të programimit duke përfshirë Python, NodeJS, Java, PHP etj.

Në këtë tutorial, unë do t'ju tregoj hap pas hapi se si të konfiguroni RabbitMQ Cluster në një server CentOS 7. Ne do të konfigurojmë grupin RabbitMQ duke përdorur tre serverë CentOS, do të aktivizojmë Menaxhimin e RabbitMQ dhe do të konfigurojmë politikën HA për të gjitha nyjet.

Parakushtet

  • 3 ose më shumë serverë CentOS 7
    • 10.0.15.21 node01
    • 10.0.15.22 node02
    • 10.0.15.23 node03

    Çfarë do të bëjmë ne?

    1. Konfiguro skedarin e hosteve
    2. Instaloni serverin RabbitMQ
    3. Aktivizo shtojcat e menaxhimit të RabbitMQ
    4. Konfiguro Firewalld
    5. Konfiguro grupin RabbitMQ
    6. Konfiguro një përdorues të ri admin
    7. Konfiguro pasqyrimin e radhës së RabbitMQ
    8. Testimi

    Hapi 1 - Konfiguroni skedarin e hosteve

    Në këtë hap, ne do të modifikojmë skedarin /etc/hosts në të gjithë serverët dhe do të hartojmë secilën adresë IP të serverit si një emër hosti.

    Redaktoni skedarin /etc/hosts duke përdorur redaktuesin vim.

    sudo vim /etc/hosts

    Tani ngjitni konfigurimin e mëposhtëm atje.

    10.0.15.21 node01
    10.0.15.22 node02
    10.0.15.23 node03

    Ruaje dhe dil.

    Hapi 2 - Instaloni Serverin RabbitMQ

    Në këtë hap, ne do të instalojmë paketat e Serverit RabbitMQ nga depoja e EPEL (Paketa Shtesë për Enterprise Linux).

    Shtoni depon e EPEL në sistemin CentOS 7.

    sudo yum -y install epel-release

    Tani instaloni Serverin RabbitMQ në të gjitha nyjet node01, node02 dhe node03 duke përdorur komandën yum më poshtë.

    sudo yum -y install rabbitmq-server

    Dhe pasi instalimi të ketë përfunduar, nisni shërbimin RabbitMQ dhe aktivizoni atë të nisë çdo herë në nisjen e sistemit.

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

    Serveri RabbitMQ është instaluar në të gjithë grupin e nyjeve CentOS 7.

    Hapi 3 - Aktivizo shtojcat e menaxhimit të RabbitMQ

    Në këtë hap, ne do të aktivizojmë shtojcat e menaxhimit të RabbitMQ. Është një ndërfaqe që ju lejon të monitoroni dhe trajtoni serverin RabbitMQ nga shfletuesi i internetit, që funksionon në portin e paracaktuar TCP 15672.

    Aktivizo shtojcat e menaxhimit të RabbitMQ duke ekzekutuar komandën më poshtë.

    sudo rabbitmq-plugins enable rabbitmq_management

    Sigurohuni që të mos ketë ndonjë gabim, më pas rinisni shërbimin RabbitMQ.

    sudo systemctl restart rabbitmq-server

    Dhe Menaxhimi i RabbitMQ është aktivizuar.

    Hapi 4 - Konfiguro CentOS Firewalld

    Në këtë tutorial, ne do të aktivizojmë shërbimin e murit të zjarrit CentOS, kështu që duhet të hapim portën që përdoret nga serveri RabbitMQ.

    Do të hapim portin që përdor serverin RabbitMQ 5672, portën për menaxhimin e RabbitMQ 15672 dhe portat për grupin RabbitMQ 4369, 25672.

    Ekzekutoni komandat e mëposhtme të murit të zjarrit.

    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

    Tani ringarkoni murin e zjarrit dhe kontrolloni të gjitha portet e hapura në listë.

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

    Konfigurimi i murit të zjarrit CentOS ka përfunduar dhe ishin gati për të vendosur grupin RabbitMQ.

    Hapi 5 - Vendosni RabbitMQ Cluster

    Për të konfiguruar grupin RabbitMQ, duhet të sigurohemi që skedari .erlang.cookie është i njëjtë në të gjitha nyjet. Ne do të kopjojmë skedarin .erlang.cookie në drejtorinë /var/lib/rabbitmq nga node01 në nyjen tjetër node02 dhe node03.

    Kopjoni skedarin .erlang.cookie duke përdorur komandat scp nga nyja01.

    scp /var/lib/rabbitmq/.erlang.cookie :/var/lib/rabbitmq/

    Sigurohuni që të mos ketë gabim në të dy serverët.

    Më pas, duhet të konfigurojmë node02 dhe node03 për t'u bashkuar me nyjen e grupit 01.

    Ekzekutoni të gjitha komandat më poshtë në serverët node02 dhe node03.

    Rinisni shërbimin RabbitMQ dhe ndaloni aplikacionin.

    sudo systemctl restart rabbitmq-server
    sudo rabbitmqctl stop_app

    Tani lëreni serverin RabbitMQ në të dy nyjet të bashkohet me grupin në node01, më pas filloni aplikacionin.

    sudo rabbitmqctl join_cluster 
    sudo rabbitmqctl start_app

    Pas përfundimit të tij, kontrolloni statusin e grupit RabbitMQ.

    sudo rabbitmqctl cluster_status

    Dhe do të merrni rezultatet siç tregohet më poshtë.

    Në nyjen 02.

    Në nyjen 03.

    Grupi RabbitMQ është krijuar, me node01, node02 dhe node03 si anëtarë.

    Hapi 6 - Krijo një përdorues të ri administratori

    Në këtë tutorial, ne do të krijojmë një përdorues të ri admin për serverin tonë RabbitMQ dhe do të fshijmë përdoruesin e parazgjedhur të ftuar. Ne do të krijojmë një përdorues të ri nga node01, dhe ai do të përsëritet automatikisht në të gjitha nyjet në grup.

    Shto një përdorues të ri të quajtur hakase me fjalëkalim [email .

    sudo rabbitmqctl add_user hakase 

    Konfiguro përdoruesin hakase si administrator.

    sudo rabbitmqctl set_user_tags hakase administrator

    Dhe jepni lejen e përdoruesit hakase për të modifikuar, shkruar dhe lexuar të gjithë vhost-et.

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

    Tani fshini përdoruesin e paracaktuar të ftuar.

    sudo rabbitmqctl delete_user guest

    Dhe kontrolloni të gjithë përdoruesit e disponueshëm.

    sudo rabbitmqctl list_users

    Dhe do të merrni rezultatin siç tregohet më poshtë.

    Është krijuar një përdorues i ri RabbitMQ dhe përdoruesi i paracaktuar i ftuar është fshirë.

    Hapi 7 - Pasqyrimi i radhës së konfigurimit të RabbitMQ

    Ky konfigurim është i domosdoshëm, ne duhet të konfigurojmë grupin e politikave ha për pasqyrimin e radhës dhe replikimin në të gjitha nyjet e grupimit. Nëse nyja që pret masterin e radhës dështon, pasqyra më e vjetër do të promovohet në masterin e ri për aq kohë sa është e sinkronizuar, varet nga politikat ha-mode dhe ha-params.

    Më poshtë janë disa shembuj në lidhje me politikat e RabbitMQ ha.

    Konfiguro politikën ha me emrin ha-all, të cilat të gjitha radhët në grupimin RabbitMQ do të pasqyrohen në të gjitha nyjet në grup.

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

    Vendosni politikën ha me emrin ha-two, të cilat të gjitha emrat e radhëve fillojnë me dy. do të pasqyrohet në dy nyjet në grup.

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

    Konfiguro politikën ha me emrin ha-nyje të cilat të gjitha emrat e radhëve fillojnë me nyje. do të pasqyrohet në dy nyje specifike node02 dhe node03 në grup.

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

    Tani kontrolloni të gjitha politikat e disponueshme duke përdorur komandën më poshtë.

    sudo rabbitmqctl list_policies;

    Dhe nëse doni të hiqni politikën, përdorni komandën e mëposhtme.

    sudo rabbitmqctl clear_policy ha-two

    Hapi 8 - Testimi

    Hapni shfletuesin tuaj të internetit dhe shkruani adresën IP të nyjës me portin 15672.

    http://10.0.15.21:15672/

    Shkruani emrin e përdoruesit hakase me fjalëkalim [email .

    Dhe ju do të merrni panelin e administratorit të RabbitMQ si më poshtë.

    Statusi i të gjitha nyjeve të grupimit është në funksionim.

    Tani klikoni në menunë e skedës Admin dhe klikoni menunë Përdoruesit në anën.

    Dhe ju do të merrni përdoruesin hakase në listë.

    Tani klikoni në menunë e skedës Admin dhe klikoni menunë Politikat në anën.

    Dhe do të merrni të gjitha politikat e RabbitMQ ha që kemi krijuar.

    Instalimi dhe konfigurimi i RabbitMQ Cluster në serverin CentOS 7 ka përfunduar me sukses.

    Referenca

    • https://www.rabbitmq.com/documentation.html