GNU/Linux >> Belajar Linux >  >> Linux

Cara Mencadangkan dan Mengembalikan Data &Konfigurasi RabbitMQ

Cadangan RabbitMQ adalah representasi JSON dari metadata broker Anda. Ini termasuk pengguna, vhosts, antrian, pertukaran, dan binding. Pencadangan dilakukan terhadap cluster yang sedang berjalan menggunakan export perintah yang disediakan oleh plugin manajemen RabbitMQ. Pesan tidak disertakan dalam cadangan.

Konten Terkait

  • Cara menginstal Erlang di ArchLinux
  • Cara menginstal Erlang di FreeBSD 13
  • Cara menginstal RabbitMQ di FreeBSD 13
  • Cara menginstal Erlang di Ubuntu 20.04
  • Cara menginstal Erlang pada OpenSUSE Leap 15.3
  • Cara menginstal RabbitMQ di OpenSUSE Leap 15.3
  • Cara menginstal Erlang di Fedora 35
  • Cara menginstal RabbitMQ di Fedora 35
  • Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8
  • Cara Memasang dan Mengaktifkan Repositori EPEL di Rocky Linux/Centos 8

Status Cluster RabbitMQ

Untuk mendapatkan status cluster

sudo rabbitmqctl cluster_status 

Keluaran di server saya

$ sudo rabbitmqctl cluster_status
/usr/lib/erlang/erts-12.1.5/bin/beam.smp: /usr/lib/libncursesw.so.6: no version information available (required by /usr/lib/erlang/erts-12.1.5/bin/beam.smp)
Cluster status of node [email protected] ...
Basics

Cluster name: [email protected]

Disk Nodes

[email protected]

Running Nodes

[email protected]

Versions

[email protected]: RabbitMQ 3.8.22 on Erlang 24.1.7

Maintenance status

Node: [email protected], status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: [email protected], interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: [email protected], interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: [email protected], interface: [::], port: 15672, protocol: http, purpose: HTTP API

Feature flags

Flag: drop_unroutable_metric, state: disabled
Flag: empty_basic_get_metric, state: disabled
Flag: implicit_default_bindings, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled 

Mengunduh rabbitmqadmin

Alat baris perintah rabbitmqadmin akan digunakan untuk pencadangan dan pemulihan.

Plugin pengelolaan dikirim dengan alat baris perintah rabbitmqadmin. Anda perlu mengaktifkan plugin manajemen:

sudo rabbitmq-plugins mengaktifkan rabbitmq_management

Hasil saya

~> sudo rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node [email protected]:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to [email protected]
Plugin configuration unchanged. 

Plugin ini digunakan untuk melakukan beberapa tindakan yang sama seperti UI berbasis Web, dan yang mungkin lebih nyaman untuk tugas otomatisasi.

Setelah Anda mengaktifkan plugin pengelolaan, unduh rabbitmqadmin Alat baris perintah Python yang berinteraksi dengan HTTP API. Itu dapat diunduh dari simpul RabbitMQ mana pun yang memiliki plugin manajemen yang diaktifkan di

http://{node-hostname}:15672/cli/

Setelah diunduh, buat file tersebut dapat dieksekusi dan pindahkan ke /usr/local/bin direktori:

chmod +x rabbitmqadmin
sudo mv rabbitmqadmin /usr/local/bin 

Cara Mencadangkan Konfigurasi RabbitMQ

Cadangan RabbitMQ tidak menyertakan Pesan karena disimpan di penyimpanan pesan terpisah. Itu hanya akan mencadangkan pengguna RabbitMQ, vhosts, antrian, pertukaran, dan binding. File cadangan adalah representasi JSON dari metadata RabbitMQ.

Untuk mencadangkan konfigurasi RabbitMQ, gunakan perintah:

rabbitmqadmin ekspor 

Contoh:

$ rabbitmqadmin export rabbitmq-backup-config.json Mengekspor definisi untuk localhost ke "rabbitmq-backup-config.json"

Ekspor akan ditulis ke filerabbitmq-backup-config.json .

Cara Mengembalikan cadangan Konfigurasi RabbitMQ

Untuk memulihkan konfigurasi RabbitMQ Anda dari cadangan, gunakan perintah:

rabbitmqadmin mengimpor 

Contoh

$ rabbitmqadmin import rabbitmq-backup-config.jsonImpor definisi untuk localhost dari "rabbitmq-backup.json"

Cara Mencadangkan Data RabbitMQ

Definisi dan Pesan RabbitMQ disimpan dalam database internal yang terletak di direktori data node. Untuk mendapatkan jalur direktori, jalankan perintah berikut terhadap node RabbitMQ yang sedang berjalan:

sudo rabbitmqctl eval 'rabbit_mnesia:dir().'

Contoh keluaran:

$ sudo rabbitmqctl eval 'rabbit_mnesia:dir().'"/var/lib/rabbitmq/mnesia/[email protected]"

Direktori ini berisi banyak file:


rabbitpre># ls /var/lib/rabbitmq/mnesia/[email protected]cluster_nodes.config msg_stores rabbit_durable_exchange.DCD rabbit_durable_queue.DCL rabbit_runtime_parameters.DCL rabbit_user.DCD rabbit_vhost.DDCDECISION_TAB.CLnodes_durable_DCD rabbit_user. schema.DATLATEST.LOG quorum rabbit_durable_queue.DCD rabbit_runtime_parameters.DCD rabbit_topic_permission.DCD rabbit_user_permission.DCL schema_version

Dalam versi RabbitMQ yang dimulai dengan 3.7.0 semua data pesan digabungkan dalam direktori msg_stores/vhosts dan disimpan dalam subdirektori per vhost. Setiap direktori vhost diberi nama dengan hash dan berisi file .vhost dengan nama vhost, sehingga kumpulan pesan vhost tertentu dapat dicadangkan secara terpisah.

Untuk melakukan definisi RabbitMQ dan pencadangan data pesan, salin atau arsipkan direktori ini dan isinya. Tapi pertama-tama, Anda harus menghentikan layanan RabbitMQ

sudo systemctl stop rabbitmq-server

Contoh di bawah ini akan membuat arsip:

tar cvf rabbitmq-backup.tgz /var/lib/rabbitmq/mnesia/[email protected] 

Cara Mengembalikan Data RabbitMQ

Untuk memulihkan dari Cadangan, ekstrak file dari cadangan ke direktori data.

Basis data simpul internal menyimpan nama simpul dalam catatan tertentu. Jika nama node berubah, database harus diperbarui terlebih dahulu untuk mencerminkan perubahan menggunakan perintah rabbitmqctl berikut:

rabbitmqctl rename_cluster_node  

Ketika sebuah node baru dimulai dengan direktori yang dicadangkan dan nama node yang cocok, node tersebut harus melakukan langkah-langkah upgrade yang diperlukan dan melanjutkan untuk boot.

Kesimpulan

Dalam panduan ini kami menjelajahi cara mencadangkan dan memulihkan data rabbitmq.


Linux
  1. MySQL:Cara Backup (Dump) dan Restore Database Menggunakan mysqldump

  2. Cara Mencadangkan dan Memulihkan Repositori SVN di Linux

  3. Cara Mencadangkan dan Memulihkan Basis Data Postgres

  1. Cara Membuat Dan Mengembalikan Cadangan Di cPanel

  2. Cara Mencadangkan dan Memulihkan Basis Data di PostgreSQL

  3. Cara mencadangkan dan memulihkan wadah Docker

  1. Cara mencadangkan dan memulihkan situs di Plesk

  2. Cara Backup dan Restore File menggunakan Deja Dup di Linux

  3. Cara membuat dan memulihkan cadangan di Plesk