Centos7 üzerine Rabbitmq Cluster kurulumu
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.