1. Ana Sayfa
  2. Open Source
  3. MongoDB Replica Set Nedir? Avantajları Nelerdir? MongoDB Replica Set Kurulumu

MongoDB Replica Set Nedir? Avantajları Nelerdir? MongoDB Replica Set Kurulumu

mongodbreplicaset_mshowto212
DMC Teknoloji

? Avantajları Nelerdir?

Replica set, master-slave replikasyonu ve aralarında yapılandırılmış bir otomatik yük devretme ile çoklu düğümlerden oluşan veri tabanı kümesini tanımlamak için kullanılan bir terimdir.

MongoDB Replica Set veri tabanının yedekli olmasını sağlar ve farklı veri tabanı sunucularında birden çok veri kopyasıyla veri kullanılabilirliğini artırır. Çoğaltma ayrıca donanım arızalarından ve hizmet kesintilerinden kurtulmanıza da olanak tanır.

Replica Set için iki veya daha fazla üye olması gerekmektedir.

Çoğaltma kümesinde yalnızca bir birincil düğüm olabilir.

Tüm veriler birincilden ikincil düğüme kopyalanır.

Başarısız olan düğümün kurtarılmasından sonra, tekrar replika kümesine katılır ve ikincil bir düğüm olarak çalışır.

Verilerin ek kopyalarıyla, birini felaket kurtarma, raporlama veya yedeklemeye ayırabilirsiniz.

Resim-1


Replica Set kurulumuna geçmeden önce MongoDB sisteminizde kurulu olması gerekmektedir.

Eğer sisteminizde MongoDB kurulu değilse bir önceki yazımıza göz atabilirsiniz. MongoDB Nedir? Avantajları ve Dezavantajları, CentOS 7 Üzerinde MongoDB Kurulumu, Default Port Değiştirme

MongoDB kurulu olan sistemde config dosyası default oluşmaktadır. Linux tabanlı sistemlerde “/etc/” dizini altında bulunmaktadır.

cd /etc/ komutu ile etc dizinine gidiyoruz.

etc dizininde bulunan “mongod.conf” dosyasını “cp” komutu ile kopyalayarak “/etc/mongod2.conf” hedef dizini ve dosya adını (mongod2.conf) olarak veriyoruz.

Aynı şekilde “mongod3.conf” dosyasını oluşturuyoruz.

Resim-2

Replica Set için hali hazırda gelen config dosyası dışında 2 adet config dosyası oluşturmuş olduk. “vi” veya başka editör ile yapılandırma ayarlarımızı yapabiliriz.

Config dosyasında dikkat edilmesi gerekenler;

  1. Log dosyasının yazılacağı dizin:

    path: /var/log/mongodb/mongod.log

  2. Veri tabanı dosya dizini:

    dbPath: /var/lib/mongo

  3. Port Ayarı: Replica Set kurulumu yapacağımız için 3 farklı node olacaktır ve portlar birbirinden farklı olması gerekir.

    port: 27017

  4. IP Adres: ilk kurulumda “bindIp: 127.0.0.1” şeklinde gelmektedir. Lokal dışından erişim sağlanacağı için sunucunun ip adresini vermemiz gerekiyor.

    bindIp: 192.168.1.14

  5. En önemlisi olan “replication” ayarı:

    replication:

    replSetName: replica-adı

Örnek yapılandırma ayarları aşağıdadır;

Aynı yapılandırma işlemlerini diğer dosyalar üzerinde yapmamız gerekmektedir.

Yapılandırmaya geçmeden önce dikkat edilmesi gereken noktalardan bahsetmek istiyorum.

Log dosyası, Port ve Veri tabanı dizini farklı olmalıdır. Aynı olursa ilk yapılandırdığımız dosyasının üzerine yazmaya çalışacağı için hata verecektir.

DbPath dizininde mongo2 klasörü olmadığı için oluşturup yetki vermemiz gerekiyor;

Mongo2 klasörünü oluşturduktan sonra yapılandırma ayarlarına geçebiliriz.

path: /var/log/mongodb/mongod2.log

dbPath: /var/lib/mongo2

port: 27018

replication:

replSetName: testreplica

Mongo3 klasörünü oluşturuyoruz ve yapılandırma ayarlarına geçiyoruz.

path: /var/log/mongodb/mongod3.log

dbPath: /var/lib/mongo3

port: 27019

replication:

replSetName: testreplica

3 dosyayı da düzenledikten sonra MongoDB uygulamasını çalıştırabiliriz. Aşağıdaki komutlar ile her bir veri tabanını çalıştırıyoruz.

Resim-3

Veri tabanlarının ne durumda olduğunu görmek için “ps aux | grep mongod” komutunu çalıştırabiliriz.

Ek olarak kullanılan portları görmek için “netstat –tulp” komutunu kullanabiliriz.

Resim-4

Veri tabanları çalışır durumda olduğuna göre Replica Set yapılandırmasına geçebiliriz.

“mongo -host 192.168.1.14 -port 27017” komutu ile Primary (Birincil) veri tabanına bağlanıyoruz.

Replica Set ortamını aktif hale getirmek için bağlanmış olduğumuz MongoDB konsolunda aşağıdaki komutu çalıştırıyoruz.

Bu komutu çalıştırdıktan sonra yapılandırma dosyasında verdiğimiz “testreplica” replica adı gelecektir.

Resim-5

Diğer veri tabanlarına bağlanmadan Primary (Birincil) üzerinden yapılandırmaya devam ediyoruz.

Aşağıdaki komut ile diğer veri tabanlarını ekliyoruz.

Not: Eğer hostname şeklinde eklemek isterseniz IP adresi yerine host adını yazabilirsiniz.

Replica Set için diğer üyeleri eklerken hata yok ise (“ok” : 1, ) çıktısını vermektedir.

Secondary olan MongoDB ortamına bağlanarak ReplicaSet durumunu kontrol ediyoruz.

Bağlantı sağladıktan sonra “testreplica:SECONDARY> ” olarak Shell ekranı bizi karşılayacaktır.

rs.status() komutu ile oluşturduğumuz Replica Set için durumu gözlemliyoruz.

Resim-6

Replica Set ortamı 1 Primary ve 2 Secondary olarak çalışır durumdadır.

Priority öncelik verme ayarı çok önemli bir konudur. Primary veri tabanı arızalandı veya erişim olmadığı gibi durumlarda 2 Secondary veri tabanından 1 tanesine Primary olması için üyelere öncelik verebiliriz.

Örnek olarak üye1 için 0.5, üye2 için 1, üye3 için 0.5 değerini verirsek üye2 Primary olacaktır.

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

http://www.mshowto.org/

TAGs: MongoDB Replica Set Nedir, , MongoDB Replica Set Kurulumu, , ,

DMC Teknoloji
Yorum Yap

Yazar Hakkında

İstanbul doğumluyum. İstanbul Üniversitesi Elektronik bölümü mezunuyum. Stajlarımı AvivaSA’da ve QNB Finansbank da uzun dönem olarak yaptım ve Staj süresi boyunca IT departmanlarında görev aldım. Hewlett Packard Enrterprise (HP) firmasında 7 ay Sistem Destek Uzman Yardımcısı pozisyonunda çalıştım. Şuanda yazılım firması olan Cybersoft’da 4 senedir Sistem Uzmanı olarak çalışmaktayım. Windows Server 2008, Windows Server 2012, Active Directory, DHCP, DNS, WSUS, IIS, Hyper-V, VirtualBox, CentOS, Redhat, Atlassian (Jira, Bamboo, Stash, Confluence), Microsoft Azure, Amazon Web Services, Digital Ocean gibi platformlarda uzmanlığım bulunmaktadır. Boş vakitlerimde grafik tasarım, video editörlük, reklam, sosyal medya grafik tasarımı ve dijital pazarlama alanlarında projeler yapmaktayım.

Yorum Yap