Centos7 üzerine Rabbitmq Cluster kurulumu

Berkay Yapici
Odeal-Tech
Published in
2 min readNov 6, 2020

Merhabalar sizlerle linux Centos7 üzerinde en kolay ve en hızlı rabbitmq kurulumu ve cluster ayarlarını yapacağız. Ben linux üzerine kurduğum için RPM paketlerine ihtiyaç duyuyorum. Rabbit için epel paketlerine de ihtiyacımız olacaktır. Bu iki paketi güncel bir şekilde bulabilmek için aşağıdaki web sitelerinden yararlanabilirsiniz. Epel için rabbitmq’nun uyumluluğunu kontrol etmeniz gerekmektedir. Bunun için;https://www.rabbitmq.com/which-erlang.html

Rabbitmq paketi için; https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el8.noarch.rpm

Erlang Paketi için ; https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.0.1-1~centos~7_amd64.rpm

bu paket linklerini aldıktan sonra oldukça kolay bir şekilde kurulumlarımızı yapabiliriz.

Sırasıyla aşağıdaki komutları centos7 makinamızda giriyoruz.

Yum install https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.0.1-1~centos~7_amd64.rpm

yum install https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el8.noarch.rpm

sıralamamız rabbitmq’nun ihtiyaç duyduğu epel olmadan kurulumlarda hata almamızdan kaynaklıdır.

Servislerin otomatik olması ve çalışması için;

systemctl enable rabbitmq-server

systemctl start rabbitmq-server

sonrasında rabbitmq’nun managemant arayüzünün enable edilmesi gerekecektir.

Rabbitmq-plugins enable rabbitmq_management

bu ayarları cluster’a kaç sunucu ekleyeceksek yapmamız gerekmektedir.

kurulumlarımız tamamlanmıştır. Şuan ip:15672 ile arayüz karşımıza çıkmaktadır.

Kullanıcı ayarları için;

kullanıcı ekleme ve şifre belirlemek için

rabbitmqctl add_user KullanıcıAdı Şifremiz

kullanıcımıza admin yetkisi vermek için

rabbitmqctl set_user_tags KullanıcıAdı administrator

son olarak varsayılan olarak gelen ve sonradan eklenecek bütün sanal sitelerde yetkinin tanımlanması için;

rabbitmqctl set_permissions -p / KullanıcıAdı “.*” “.*” “.*”

ilerleyen zamanlarda yazılım ekiplerinin ihtiyaç duyacakları eklentileri de aktif edelim,

rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management

şuan ip:15672 den erişimlerimizi yaptık arayüzümüzü gördük.

Cluster ayarlarına başlayabiliriz.

Şimdi diğer sunucularımızdaki servisleri stop edelim.

Systemctl stop rabbitmq-server

master olacak makinemizi belirledikten sonra cookie dosyasındaki değerleri diğer sunuculara eklememiz gerekmektedir. Bunun için;

varlib/rabbitmq/.erlang.cookie. Dosyasını açıp içerisindeki hash’li metni kopyalayıp slave makinalarımızın aynı dosyasını temizleyip bu değerleri ekleyelim.

Ardından bütün sunucularımızdaki rabbitmq-server servisini start edelim.

Servisler start olduktan sonra sıra slave sunucularımızı cluster’a eklememiz kaldı.

Bu işlemlere başlamadan önce dns ayarlarınızın güncel olduğunu kontrol edelim. dns veya ldap sunucunuz yok ise 3 sunucunun’da host dosyalarına rabbitmq server’larını ekleyelim.

Kontrolleri ve ayaları yaptıktan sonra cluster’a ekleyebiliriz.

Sunucunun üzerinde oluşmuş cache ve ayarları resetlemeden cluster’a eklenmemektedir. Sırasıyla aşağıdaki komutları girip cluster’a ekleyelim.

Rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster rabbit@MasterNodeName

rabbitmqctl start_app

==> starting node rabbit@slave1 …done yazısını gördüysek cluster ayarlarımız tamamlanmış demektir. Şimdi hem master hem de slave makinamızda Rabbitmqctl cluster_status komutu ile running_nodes sekmesinde sunucularımızı göreceğiz.

Ayarlarımız ve kontrollerimiz tamamlanmıştır. Linux ortamında en hızlı rabbitmq kurulumu ve cluster ayarları bu şekildedir.

--

--