MongoDB Çoğaltma: Nasıl Oluşturulur MongoDB Replika Seti
Nedir? MongoDB Çoğaltma mı?
Replikasyon, aynı verinin birden fazla Mongo DB Sunucusu üzerinde bulunmasının sağlanması işlemine denir. Bu bazen veri kullanılabilirliğini artırmak amacıyla gereklidir.
Çünkü eğer asıl MongoDB Sunucu herhangi bir sebeple kapanırsa verilere erişim sağlanamaz. Ancak verileri düzenli aralıklarla başka bir sunucuya kopyaladıysanız, birincil sunucu arızalansa bile başka bir sunucudaki verilere erişebileceksiniz.
Çoğaltmanın bir diğer amacı da yük dengeleme olanağıdır. Sisteme bağlanan çok sayıda kullanıcı varsa herkesin tek bir sisteme bağlanması yerine kullanıcılar birden fazla sunucuya bağlanarak yükün eşit dağılımı sağlanır.
In MongoDB, çoklu MongoDB Sunucular Replika kümeleri adı verilen kümeler halinde gruplandırılmıştır. Replika kümesi, istemcilerden gelen tüm yazma işlemlerini kabul edecek bir birincil sunucuya sahip olacaktır. Bundan sonra kümeye eklenen tüm diğer örnekler, tüm okuma işlemleri için öncelikli olarak kullanılabilen ikincil örnekler olarak adlandırılacaktır.
Replika Kümesi Nasıl Oluşturulur MongoDB İlk Üyeyi rs.initiate() kullanarak ekleme
Önceki bölümde belirtildiği gibi çoğaltmayı etkinleştirmek için öncelikle bir kopya kümesi oluşturmamız gerekir. MongoDB örnekleri.
Örneğimizde SunucuA, SunucuB ve SunucuC adında 3 sunucumuz olduğunu varsayalım. Bu konfigürasyonda SunucuA Birincil sunucumuz, SunucuB ve SunucuC ise ikincil sunucularımız olacaktır. Aşağıdaki ekran görüntüsü bu konuda daha iyi bir fikir verecektir.
Oluşturmak için izlenmesi gereken adımlar aşağıdadır. MongoDB kopya seti ve sete ilk üyenin eklenmesi.
) 1 Adım Tüm mongod.exe örneklerinin eklendiğinden emin olun
Replika setine eklenecek tüm mongod.exe örneklerinin farklı sunuculara kurulduğundan emin olun. Bu, bir sunucu çökse bile diğerlerinin ve dolayısıyla diğer örneklerin kullanılabilir olmasını sağlamak içindir. MongoDB mevcut olacak.
) 2 Adım Tüm mongo.exe örnekleri birbirine bağlanır
Tüm mongo.exe örneklerinin birbirine bağlanabildiğinden emin olun. ServerA'dan aşağıdaki 2 komutu verin.
mongo –host ServerB –port 27017
mongo –host ServerC –port 27017
Benzer şekilde, aynı şeyi kalan sunucular için de yapın.
) 3 Adım İlk mongod.exe örneğini başlatın
İlk mongod.exe örneğini replSet seçeneğiyle başlatın. Bu seçenek, bu kopya kümesinin parçası olacak tüm sunucular için bir gruplandırma sağlar.
mongo –replSet "Replica1"
Burada “Replica1” replika kümenizin adıdır. Çoğaltma kümesi adınız için anlamlı herhangi bir adı seçebilirsiniz.
) 4 Adım İlk sunucu replika kümesine eklenir
Artık ilk sunucu replika kümesine eklendiğine göre, bir sonraki adım rs.initiate() komutunu vererek replika kümesini başlatmaktır.
) 5 Adım Çoğaltma kümesini doğrulayın
Kopyanın düzgün şekilde kurulduğundan emin olmak için rs.conf() komutunu vererek kopya kümesini doğrulayın.
Çoğaltma Kümesi: rs.add() kullanarak İkincil Ekleme
İkincil sunucular, yalnızca rs.add komutu kullanılarak kopya kümesine eklenebilir. Bu komut ikincil sunucuların adını alır ve sunucuları çoğaltma kümesine ekler.
) 1 Adım Replika kümenizin parçası olması gereken SunucuA, SunucuB ve SunucuC'ye sahip olduğunuzu ve SunucuA'nın replika kümesinde birincil sunucu olarak tanımlandığını varsayalım.
SunucuB ve SunucuC'yi çoğaltma kümesine eklemek için komutları verin
rs.add("ServerB") rs.add("ServerC")
Çoğaltma Kümesi: rs.remove() kullanarak Yeniden Yapılandırma veya Kaldırma
Bir sunucuyu konfigürasyon setinden çıkarmak için “rs.remove” komutunu kullanmamız gerekmektedir.
) 1 Adım Öncelikle kaldırmak istediğiniz örneği kapatın. Bunu mongo kabuğundan db.shutdownserver komutunu vererek yapabilirsiniz.
) 2 Adım Birincil sunucuya bağlanın
) 3 Adım Gerekli sunucuyu çoğaltma kümesinden kaldırmak için rs.remove komutunu kullanın. Yani, SunucuA, SunucuB ve SunucuC'den oluşan bir kopya kümeniz varsa ve SunucuC'yi kopya kümesinden kaldırmak istiyorsanız, şu komutu verin:
rs.remove("ServerC")
Çoğaltma Kümelerinde Sorun Giderme
Aşağıdaki adımlar, replika setlerinin kullanımında sorunlarla karşılaşıldığında sorun gidermenin yollarıyla aynıdır.
- Tüm mongo.exe örneklerinin birbirine bağlanabildiğinden emin olun. SunucuA, SunucuB ve SunucuC adında 3 sunucunuz olduğunu varsayalım. Sunucu A'dan aşağıdaki 2 komutu verin
mongo –host ServerB –port 27017 mongo –host ServerC –port 27017
- Rs.status komutunu çalıştırın. Bu komut kopya kümesinin durumunu verir. Varsayılan olarak her üye birbirine, sunucunun canlı ve çalışır durumda olduğunu belirten "kalp atışı" mesajları adı verilen mesajlar gönderecektir. "Durum" komutu bu mesajların durumunu alır ve kopya kümesindeki herhangi bir üyeyle ilgili herhangi bir sorun olup olmadığını gösterir.
- Oplog'un boyutunu kontrol edin – Oplog, bir koleksiyondur. MongoDB yapılan yazmaların geçmişini saklayan MongoDB veri tabanı. MongoDB daha sonra yazma işlemlerini çoğaltma kümesindeki diğer üyelere çoğaltmak için bu Oplog'u kullanır. Oplog'u kontrol etmek için gerekli üye örneğine bağlanın ve rs.printReplicationInfo komutunu çalıştırın. Bu komut, logun boyutunu ve log dosyası dolmadan önce işlemleri ne kadar süreyle tutabileceğini gösterecektir.
ÖZET
Çoğaltma MongoDB aynı verinin birden fazla Mongo DB Sunucusu üzerinde bulunmasının sağlanması işlemine denir. Birçok üye (MongoDB örnekler) gereksinimlere bağlı olarak Replika setine eklenebilir.