RabbitMQ Kurulumu – Cluster Yapılandırması
  1. Anasayfa
  2. DevOps

RabbitMQ Kurulumu – Cluster Yapılandırması

0

Erlang diliyle geliştirilmiş olan bir uygulamadan bir mesajı alıp başka bir uygulamaya veya uygulamalara sırasıyla ileten open source bir mesaj kuyruk sistemidir.

Resim-1

Kurulum yaptığım OS : Sles 15 SP2

Kullanacağım Node Sayısı : 3

Kuruluma Başlamadan Önce:

Resim-2

3 Adet Sles 15 SP2 sunucu kurdum sunucuların tüm update ve upgradelerini tamamladım.

Her birine RABBITMQ_MNESIA_BASE için ayrı ayrı bir disk ekledim .(200gb)

3 node içinde /etc/hosts altında tüm sunucuların gerçek ip adresleri ile beraber hostnameleri girilmesi gerekiyor.

Ip adresi hostname

Ip adresi hostname

Ip adresi hostname

Her sunucunun mail atıyor olması gerekiyor postfix veya benzeri bi uygulama ile bunun olmasını sağlamalısınız.

RabbitMQ Kurulum

Resim-3

zypper in erlang

Ardından kurulan paket sonrasında bu yapacağımız kritik ayar çok önemli

vi /usr/lib/systemd/system/epmd.socket

Listener Stream 0.0.0.0:4369 bu şekilde ayarlayınız.

Resim-4

Kaydedip çıkın.

systemctl enable epmd.service

systemctl start epmd.service

Komutuyla epmd servisini çalıştırın ve özellikle aşağıdaki komutla kontrol edin.

ss –tulpn | grep 4369

Resim-5

Eğer yukardaki gibi çıktı aldıysanız herşey yolunda demektir. ( 0.0.0.0:4369)

Şimdi rabbitmq servisini kurmaya geldi.

zypper in rabbitmq-server

Bu komutla beraber socat dependecie de install olması gerekiyor.

Rabbitmq servisi yüklendikten sonra

vi /etc/rabbitmq/rabbitmq-env.conf içine girilir.

RABBITMQ_MNESIA_BASE=Her sunucu için bahsetmiş olduğum eklenen disk yolu

NODENAME=rabbit@sunucuhostnameadı

Bu ayarlar girilir ve kaydedilir.

Ardından

vi /etc/rabbitmq/rabbitmq.conf

içine girilir.

default_user = Kullanıcıadı

default_pass = Şifre

Değerler girilir ve kaydedilir.

systemctl enable rabbitmq-server

systemctl start rabbitmq-server

 

systemctl status rabbitmq-server komutuyla status kontrol edilir.

Resim-6

ps –ef | grep rabbitmq ilede çalışan proccesler görülür.

Rabbitmq servisini kurdugumuza göre diğer 2 sunucuda da aynı işlemler tekrarlanır.

Bütün hepsinde aynı sonucu aldığınızda cluster kurulumuna ve pluginleri enable etme aşamasına geçilir.

RabbitMQ Cluster Kurulumu


Resim-7

Kurulan her sunucuda aşağıdaki dosya içine girilir ve ilgili satırlar eklenir.

vi /etc/rabbitmq/rabbitmq.conf

cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config

cluster_formation.classic_config.nodes.1 = rabbit@hostname1

cluster_formation.classic_config.nodes.2 = rabbit@hostname2

cluster_formation.classic_config.nodes.3 = rabbit@hostname3

Kaydedip çıkılır her 3 sunucuda da bu ayarlar girilir.

Sonra bir sunucu belirlenir ben ilk kurduğum sunucuyu belirledim, bu sunucu içinde aşağıdaki dosya diğer 2 sunucuya da kopyalanır.

vi /var/lib/rabbitmq/.erlang.cookie bu ilk sunucudaki dosyanın içeriği diğer 2 sunucuya aynı dosya yoluna kopyalanır.

Sonra zypper in rabbitmq-server-plugins kurulur

Ardından

rabbitmq-plugins enable rabbitmq_management rabbitmq_top

Bu pluginler devreye alındıktan sonra webbrowser üstünden 15672 portundan clusterlara erişimimiz açılmış olacak.

Bu işlemi her 3 sunucuda da yapın.

Şimdi ise 1 sunucu master olarak belirleyin.

Aşağıdaki komutları master seçmediğiniz diğer 2 sunucuda girin

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@hostname1

rabbitmqctl start_app

/etc/rabbitmq/rabbitmq.conf içine girdiğiniz username ve password ile 1. Sunucu hostname veya ip adresi ile browser üstünden aşağıdaki adrese girin.

http://hostname1:15672/#/


Resim-8

RabbitMQ kurulumu ve cluster yapısı başarıyla oluşturulmuştur.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz. 

Referanslar

www.mshowto.org 

TAGs:RabbitMQ Kurulumu, RabbitMQ nedir, RabbitMQ Cluster yapılandırması, RabbitMQ makale

Bu İçeriğe Tepkin Ne Oldu?
  • 4
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 1
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

SKILS: Linux Administrator | Bash Script | Big Data Administrator | Application Management | Apache Hadoop , Kafka , Spark | Oracle , Sles , Centos | Docker | Udemy Advisor

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir