Ubuntu 24.04
Sponsored Link

RabbitMQ : क्लस्टर कॉन्फ़िगर करें2024/07/22

 

RabbitMQ क्लस्टर कॉन्फ़िगर करें।
यह इस उदाहरण पर 2 RabbitMQ सर्वर को कॉन्फ़िगर करना दिखाता है।

[1]

सभी नोड्स पर RabbitMQ सर्वर स्थापित करें और प्रारंभ करें, यहां देखें।

[2] नोड पर क्लस्टरिंग कॉन्फ़िगर करें।
# सभी नोड्स पर एक ही कुकी डालें

root@node02:~#
ssh node01.srv.world 'cat /var/lib/rabbitmq/.erlang.cookie' > /var/lib/rabbitmq/.erlang.cookie

root@node02:~#
systemctl restart rabbitmq-server
# एप्लिकेशन बंद करें और रीसेट करें

root@node02:~#
rabbitmqctl stop_app

Stopping rabbit application on node rabbit@node02 ...
root@node02:~#
rabbitmqctl reset

Resetting node rabbit@node02 ...
# क्लस्टर में शामिल हों
# केवल होस्टनाम निर्दिष्ट करें, FQDN के साथ नहीं

root@node02:~#
rabbitmqctl join_cluster rabbit@node01

Clustering node rabbit@node02 with rabbit@node01
# आवेदन प्रारंभ करें

root@node02:~#
rabbitmqctl start_app

Starting node rabbit@node02 ...
completed with 3 plugins.
# स्थिति दिखाओ

root@node02:~#
rabbitmqctl cluster_status

Cluster status of node rabbit@node02 ...
Basics

Cluster name: rabbit@node02.srv.world
Total CPU cores available cluster-wide: 4

Disk Nodes

rabbit@node01
rabbit@node02

Running Nodes

rabbit@node01
rabbit@node02

Versions

rabbit@node01: RabbitMQ 3.12.1 on Erlang 25.3.2.8
rabbit@node02: RabbitMQ 3.12.1 on Erlang 25.3.2.8

CPU Cores

Node: rabbit@node01, available CPU cores: 2
Node: rabbit@node02, available CPU cores: 2

Maintenance status

Node: rabbit@node01, status: not under maintenance
Node: rabbit@node02, status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: rabbit@node01, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node01, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@node02, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node02, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Feature flags

Flag: classic_mirrored_queue_version, state: enabled
Flag: classic_queue_type_delivery_support, state: enabled
Flag: direct_exchange_routing_v2, state: enabled
Flag: feature_flags_v2, state: enabled
Flag: implicit_default_bindings, state: enabled
Flag: listener_records_in_ets, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: restart_streams, state: enabled
Flag: stream_queue, state: enabled
Flag: stream_sac_coordinator_unblock_group, state: enabled
Flag: stream_single_active_consumer, state: enabled
Flag: tracking_records_in_ets, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled
[3] क्यू सिंक सेटिंग कॉन्फ़िगर करें.
यदि [rabbitmqadmin] कमांड नहीं मिलता है, तो इसे इंस्टॉल करें, यहां देखें।
यह उदाहरण कॉन्फ़िगर करने के लिए दिखाता है कि कतार सभी नोड्स पर समन्वयित है।
नोड्स के बीच सिंक करने के लिए कुछ तरीके हैं, विवरण नीचे आधिकारिक साइट पर देखें।
  ⇒ https://www.rabbitmq.com/ha.html
# सिंक के लिए कतार जोड़ें

root@node01:~#
rabbitmqadmin declare queue name=shared_queue

queue declared
# सिंक नीति सेट करें
# rabbitmqctl set_policy [policy name(any name you like)] [Queue] [Mode]

root@node01:~#
rabbitmqctl set_policy ha-policy "shared_queue" '{"ha-mode":"all"}'

Setting policy "ha-policy" for pattern "shared_queue" to "{"ha-mode":"all"}" with priority "0" for vhost "/" ...
# स्थिति दिखाओ

root@node01:~#
rabbitmqadmin list queues name node policy slave_nodes state synchronised_slave_nodes

+--------------+---------------+-----------+---------------+---------+--------------------------+
|     name     |     node      |  policy   |  slave_nodes  |  state  | synchronised_slave_nodes |
+--------------+---------------+-----------+---------------+---------+--------------------------+
| shared_queue | rabbit@node01 | ha-policy | rabbit@node02 | running | rabbit@node02            |
+--------------+---------------+-----------+---------------+---------+--------------------------+
[4] सभी नोड्स पर प्रबंधन प्लगइन सक्षम करने के लिए, प्रत्येक नोड की स्थिति को निम्नानुसार देखना संभव है।
मिलान सामग्री