GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengatur Cluster RabbitMQ di CentOS 7

RabbitMQ adalah perangkat lunak perantara pesan open source yang awalnya mengimplementasikan 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 (Message Antrian Transportasi Telemetri).

RabbitMQ adalah perangkat lunak antrian pesan yang menawarkan dukungan untuk mengirim dan menerima pesan antara sistem terdistribusi, aplikasi, dan layanan. Itu ditulis dengan bahasa pemrograman Erlang dan mendukung antarmuka klien dan perpustakaan untuk semua bahasa pemrograman utama termasuk Python, NodeJS, Java, PHP dll.

Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara mengatur Cluster RabbitMQ di Server CentOS 7. Kami akan menyiapkan RabbitMQ Cluster menggunakan server Three CentOS, mengaktifkan RabbitMQ Management, dan Menyiapkan kebijakan HA untuk semua node.

Prasyarat

  • 3 Server CentOS 7 atau lebih
    • 10.0.15.21 simpul01
    • 10.0.15.22 simpul02
    • 10.0.15.23 simpul03
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Siapkan File Host
  2. Instal Server RabbitMQ
  3. Aktifkan Plugin Manajemen RabbitMQ
  4. Konfigurasi Firewalld
  5. Siapkan Cluster RabbitMQ
  6. Konfigurasikan Pengguna Admin Baru
  7. Menyiapkan Pencerminan Antrian 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 node01
10.0.15.22 node02
10.0.15.23 node03

Simpan dan keluar.

Langkah 2 - Instal Server RabbitMQ

Pada langkah ini, kita akan menginstal paket RabbitMQ Server dari repositori EPEL (Extra Packages for Enterprise Linux).

Tambahkan repositori EPEL ke sistem CentOS 7.

sudo yum -y install epel-release

Sekarang instal RabbitMQ Server ke semua node 'node01', 'node02', dan 'node03' menggunakan perintah yum di bawah ini.

sudo yum -y install rabbitmq-server

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 semua node cluster CentOS 7.

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

Dan Manajemen RabbitMQ telah diaktifkan.

Langkah 4 - Konfigurasi CentOS Firewalld

Dalam tutorial ini, kita akan mengaktifkan layanan CentOS firewalld, jadi kita perlu membuka port yang digunakan oleh server RabbitMQ.

Kami akan membuka port yang menggunakan server RabbitMQ '5672', port untuk manajemen RabbitMQ '15672', dan port untuk cluster RabbitMQ '4369, 25672'.

Jalankan perintah firewalld berikut.

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

Sekarang muat ulang firewalld dan periksa semua port yang terbuka pada daftar.

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

Konfigurasi CentOS firewalld telah selesai, dan kami 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' di direktori '/var/lib/rabbitmq' dari 'node01' ke node lain 'node02' dan 'node03'.

Salin file '.erlang.cookie' menggunakan perintah scp dari 'node01'.

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 menyiapkan 'node02' dan 'node03' untuk bergabung dengan cluster 'node01'.

Jalankan semua perintah di bawah ini pada server 'node02' dan 'node03'.

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 'node01', lalu jalankan aplikasinya.

sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

Setelah selesai, cek status cluster RabbitMQ.

sudo rabbitmqctl cluster_status

Dan Anda akan mendapatkan hasil seperti gambar di bawah ini.

Di 'node02'.

Di 'node03'.

Cluster RabbitMQ telah dibuat, dengan node01, node02, dan node03 sebagai anggota.

Langkah 6 - Buat 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 'node01', dan secara otomatis akan 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 gambar di bawah ini.

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

Langkah 7 - Pencerminan Antrian Pengaturan RabbitMQ

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

Berikut adalah 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"}'

Setup kebijakan ha bernama 'ha-nodes' yang semua nama antrian dimulai dengan 'node.' akan mencerminkan dua node tertentu 'node02' dan 'node03' di cluster.

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

Sekarang periksa semua kebijakan yang tersedia menggunakan perintah di bawah ini.

sudo rabbitmqctl list_policies;

Dan jika Anda ingin menghapus kebijakan tersebut, gunakan perintah berikut.

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 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 CentOS 7 telah berhasil diselesaikan.


Cent OS
  1. Cara Memasang Cluster Kubernetes di CentOS 7

  2. Cara Menginstal Vagrant di CentOS 7

  3. Cara Menginstal Gitea di CentOS 8

  1. Cara Mengatur VPN WireGuard di CentOS 8

  2. Cara Menginstal Memcached di CentOS 8

  3. Cara Menginstal Nginx di CentOS 7

  1. Cara Menginstal Apache di CentOS 7

  2. Cara Membuat Pengguna Sudo di CentOS

  3. Cara Menginstal Tomcat 8.5 di CentOS 7