GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Cluster RabbitMQ di Ubuntu 18.04 LTS

RabbitMQ adalah perangkat lunak perantara pesan open source yang awalnya menerapkan protokol AMQP (Advanced Message Queuing Protocol), dan sementara itu telah dikembangkan dan diperluas untuk mendukung protokol lain seperti STOMP (Streaming Text Oriented Messaging Protocol), dan MQTT ( Pengiriman Telemetri Antrian Pesan).

Perangkat lunak antrean pesan/perantara pesan digunakan untuk mengirim dan menerima pesan antara sistem, aplikasi, dan layanan terdistribusi. RabbitMQ ditulis dalam bahasa pemrograman Erlang, ia menawarkan dukungan untuk antarmuka klien dan pustaka untuk semua bahasa pemrograman utama termasuk Python, NodeJS, Java, PHP, dll.

Dalam tutorial ini, saya akan menunjukkan cara menyiapkan Cluster RabbitMQ di Server Ubuntu 18.04. Saya akan menginstal RabbitMQ Cluster menggunakan tiga server Ubuntu, mengaktifkan RabbitMQ Management, dan Menyiapkan kebijakan HA untuk semua node.

Prasyarat

  • 3 atau lebih Server Ubuntu 18.04
    • 10.0.15.21 hakase-ubuntu01
    • 10.0.15.22 hakase-ubuntu02
    • 10.0.15.23 hakase-ubuntu03
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Siapkan File Host
  2. Instal Server RabbitMQ
  3. Aktifkan Plugin Manajemen
  4. Menyiapkan Firewall UFW
  5. Siapkan Cluster RabbitMQ
  6. Siapkan Pengguna Administrator Baru
  7. Pencerminan Antrian Pengaturan RabbitMQ
  8. Pengujian

Langkah 1 - Siapkan File Host

Pada langkah ini, kita akan mengedit file '/etc/hosts' di semua server dan memetakan setiap alamat IP server sebagai nama host.

Edit file '/etc/hosts' menggunakan editor vim.

sudo vim /etc/hosts

Sekarang rekatkan konfigurasi berikut di sana.

10.0.15.21 hakase-ubuntu01
10.0.15.22 hakase-ubuntu02
10.0.15.23 hakase-ubuntu03

Simpan dan keluar.

Langkah 2 - Instal Server RabbitMQ

Sebelum menginstal server RabbitMQ, pastikan semua repositori diperbarui.

Jalankan perintah berikut.

sudo apt update
sudo apt upgrade

Sekarang instal paket server RabbitMQ dari repositori Ubuntu menggunakan perintah apt di bawah ini.

sudo apt install rabbitmq-server -y

Dan setelah penginstalan selesai, mulai layanan RabbitMQ dan aktifkan untuk diluncurkan setiap kali sistem boot.

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

Server RabbitMQ telah diinstal pada Ubuntu 18.04.

Langkah 3 - Aktifkan Plugin Manajemen RabbitMQ

Pada langkah ini, kita akan mengaktifkan plugin manajemen RabbitMQ. Ini adalah antarmuka yang memungkinkan Anda untuk memantau dan menangani server RabbitMQ dari browser web, berjalan pada port TCP default '15672'.

Aktifkan plugin manajemen RabbitMQ dengan menjalankan perintah di bawah ini.

sudo rabbitmq-plugins enable rabbitmq_management

Pastikan tidak ada error, lalu restart layanan RabbitMQ.

sudo systemctl restart rabbitmq-server

Plugin RabbitMQ Management telah diaktifkan.

Langkah 4 - Siapkan Firewall UFW

Dalam tutorial ini, kita akan mengaktifkan firewall UFW Ubuntu. Kita perlu membuka beberapa port yang akan digunakan oleh server RabbitMQ.

Tambahkan layanan ssh ke firewall UFW dan aktifkan layanan firewall.

sudo ufw allow ssh
sudo ufw enable

Sekarang tambahkan port tcp RabbitMQ baru '5672,15672,4369,25672'.

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

Kemudian periksa daftar port firewall UFW.

sudo ufw status

Konfigurasi firewall UFW Ubuntu telah selesai, dan kita siap untuk menyiapkan Cluster RabbitMQ.

Langkah 5 - Siapkan Cluster RabbitMQ

Untuk mengatur cluster RabbitMQ, kita perlu memastikan file '.erlang.cookie' sama di semua node. Kami akan menyalin file '.erlang.cookie' pada direktori '/var/lib/rabbitmq' dari 'hakase-ubuntu01' ke node lain 'hakase-ubuntu02' dan 'hakase-ubuntu03'.

Salin file '.erlang.cookie' menggunakan perintah scp dari 'hakase-ubuntu01'.

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

Pastikan tidak ada kesalahan pada kedua server.

Selanjutnya, kita perlu mengatur 'hakase-ubuntu02' dan 'hakase-ubuntu03' untuk bergabung dengan cluster 'hakase-ubuntu01'.

Catatan:

  • Jalankan perintah di bawah ini pada server hakase-ubuntu02' dan 'hakase-ubuntu03'.

Mulai ulang layanan RabbitMQ dan hentikan aplikasi.

sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app

Sekarang biarkan server RabbitMQ di kedua node bergabung dengan cluster di 'hakase-ubuntu01', lalu jalankan aplikasinya.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Jika sudah selesai, cek status cluster RabbitMQ.

sudo rabbitmqctl cluster_status

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Cluster RabbitMQ telah dibuat, dengan hakase-ubuntu01, hakase-ubuntu02, dan hakase-ubuntu03 sebagai anggota.

Langkah 6 - Siapkan Pengguna Administrator Baru

Dalam tutorial ini, kita akan membuat user admin baru untuk server RabbitMQ kita dan menghapus user 'guest' default. Kami akan membuat pengguna baru dari 'hakase-ubuntu01', dan itu akan secara otomatis direplikasi ke semua node di cluster.

Tambahkan pengguna baru bernama 'hakase' dengan sandi '[email protected]'.

sudo rabbitmqctl add_user hakase [email protected]

Siapkan pengguna 'hakase' sebagai administrator.

sudo rabbitmqctl set_user_tags hakase administrator

Dan berikan izin pengguna 'hakase' untuk memodifikasi, menulis, dan membaca semua vhost.

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

Sekarang hapus pengguna 'tamu' default.

sudo rabbitmqctl delete_user guest

Dan periksa semua pengguna yang tersedia.

sudo rabbitmqctl list_users

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Pengguna administrator RabbitMQ baru telah dibuat, dan pengguna 'tamu' default dihapus.

Langkah 7 - Pencerminan Antrian Pengaturan RabbitMQ

Secara default, isi antrian dalam cluster RabbitMQ terletak pada satu node (node ​​tempat antrian dideklarasikan).

Setup ini adalah keharusan, kita perlu mengkonfigurasi cluster 'ha policy' untuk mirroring antrian dan replikasi ke semua node cluster. Jika node yang menghosting master antrian gagal, mirror terlama akan dipromosikan ke master baru selama itu disinkronkan, tergantung pada kebijakan 'ha-mode' dan 'ha-params'.

Di bawah ini beberapa contoh tentang kebijakan ha RabbitMQ.

Siapkan kebijakan ha bernama 'ha-all' yang akan dicerminkan oleh semua antrean di cluster RabbitMQ ke semua node di cluster.

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

Siapkan kebijakan ha bernama 'ha-dua' yang semua nama antrian dimulai dengan 'dua'. akan dicerminkan ke dua node di cluster.

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

Siapkan kebijakan ketersediaan tinggi bernama 'ha-nodes' yang akan berisi semua antrian di mana namanya dimulai dengan 'node'. Kami akan melakukan mirroring ke dua node tertentu 'hakase-ubuntu02' dan 'hakase-ubuntu03' di cluster.

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

Kebijakan RabbitMQ daftar ha.

sudo rabbitmqctl list_policies;

RabbitMQ menghapus kebijakan ha tertentu.

sudo rabbitmqctl clear_policy ha-two

Langkah 8 - Pengujian

Buka browser web Anda dan ketik alamat IP node dengan port '15672'.

http://10.0.15.21:15672/

Ketik nama pengguna 'hakase' dengan sandi '[email protected]'.

Dan Anda akan mendapatkan dashboard admin RabbitMQ seperti gambar di bawah ini.

Semua status node cluster aktif dan berjalan.

Sekarang klik menu tab 'Admin', dan klik menu 'Pengguna' di samping.

Dan Anda akan mendapatkan pengguna hakase dalam daftar.

Sekarang klik menu tab 'Admin', dan klik menu 'Kebijakan' di samping.

Dan Anda akan mendapatkan semua kebijakan RabbitMQ ha yang kami buat.

Instalasi dan konfigurasi RabbitMQ Cluster di server Ubuntu 18.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal Server RabbitMQ di Ubuntu 18.04 &16.04 LTS

  2. Cara Menginstal R di Ubuntu 18.04 LTS

  3. Cara Menginstal R di Ubuntu 20.04 LTS

  1. Bagaimana cara mengatur Cluster MongoDB menggunakan 3 node dengan Ubuntu 16?

  2. Cara Mengatur Cluster RabbitMQ di CentOS 7

  3. Cara Menginstal OctoberCMS di Ubuntu 16.04 LTS

  1. Cara Menginstal AbanteCart di Ubuntu 16.04 LTS

  2. Cara Menginstal Hubzilla di Ubuntu 18.04 LTS

  3. Cara menginstal ERPNext di Ubuntu 18.04 LTS