MongoDB Çoğaltma: Nasıl Oluşturulur MongoDB Replika Seti
⚡ Akıllı Özet
MongoDB Çoğaltma işlemi, aynı verilerin birden fazla yerde saklanmasını sağlar. MongoDB Sunucu arızalarına karşı koruma sağlayan ve yük dengelemesini mümkün kılan sunucu. Gruplandırılmış MongoDB Örnekler, yazma işlemlerini kabul eden birincil üye ve okuma işlemlerini ve arıza durumunda devralmayı yöneten ikincil üyelerden oluşan bir çoğaltma kümesi oluşturur.
Nedir? MongoDB Çoğaltma mı?
Çoğaltma, aynı verinin birden fazla yerde kullanılabilir olmasını sağlama süreci olarak adlandırılır. MongoDB Sunucu. Bu, bazen veri erişilebilirliğ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, Çoğaltma kümeleri adı verilen gruplar halinde toplanır. Çoğaltma kümesinde, istemcilerden gelen tüm yazma işlemlerini kabul edecek birincil bir sunucu bulunur. Bundan sonra kümeye eklenen diğer tüm örnekler ikincil örnekler olarak adlandırılır ve bunlar öncelikle tüm okuma işlemleri için kullanılabilir.
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 ServerA, ServerB ve ServerC adında 3 sunucumuz olduğunu varsayalım. Bu yapılandırmada ServerA birincil sunucumuz, ServerB ve ServerC ise ikincil sunucularımız olacaktır. Aşağıdaki ekran görüntüsü bunu daha iyi anlamanıza yardımcı olacaktır.
Oluşturmak için izlenmesi gereken adımlar aşağıdadır. MongoDB kopya seti ve sete ilk üyenin eklenmesi.
Adım 1) Tüm mongod.exe örneklerinin eklendiğinden emin olun.
Replika kümesine eklenecek tüm mongod.exe örneklerinin farklı sunuculara kurulduğundan emin olun. Bu, bir sunucu devre dışı kalsa bile diğerlerinin kullanılabilir olmasını ve dolayısıyla diğer örneklerin de çalışmaya devam etmesini sağlamak içindir. MongoDB mevcut olacak.
Adım 2) 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.
Adım 3) İlk mongod.exe örneğini başlatın
İlk mongod.exe örneğini replSet seçeneğiyle başlatın. Bu seçenek bir grup sağlar.ping Bu çoğaltma kümesinin parçası olacak tüm sunucular için.
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.
Adım 4) İlk sunucu çoğaltma kümesine eklenir.
İlk sunucu çoğaltma kümesine eklendikten sonra, bir sonraki adım rs.initiate() komutunu vererek çoğaltma kümesini başlatmaktır.
Adım 5) Kopya kümesini doğrulayın
Replika kümesinin doğru şekilde kurulduğundan emin olmak için rs.conf() komutunu kullanarak replika 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 Diyelim ki, çoğaltma kümenizin parçası olması gereken ServerA, ServerB ve ServerC sunucularınız var ve ServerA, çoğaltma kümesindeki birincil sunucu olarak tanımlanmış durumda.
ServerB ve ServerC'yi çoğaltma kümesine eklemek için aşağıdaki komutları verin:
rs.add("ServerB") rs.add("ServerC")
Çoğaltma Kümesi: rs.remove() kullanarak Yeniden Yapılandırma veya Kaldırma
Yapılandırma kümesinden bir sunucuyu kaldırmak için "rs.remove" komutunu kullanmamız gerekiyor.
) 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 Çoğaltma kümesinden gerekli sunucuyu kaldırmak için `rs.remove` komutunu kullanın. Örneğin, ServerA, ServerB ve ServerC'den oluşan bir çoğaltma kümeniz olduğunu ve ServerC'yi çoğaltma kümesinden kaldırmak istediğinizi varsayalım, şu komutu verin:
rs.remove("ServerC")
Çoğaltma Kümelerinde Sorun Giderme
Replika kümelerinin kullanımında sorunlarla karşılaşıldığında, aşağıdaki yöntemler sorun giderme için kullanılabilir.
- Tüm mongo.exe örneklerinin birbirine bağlanabildiğinden emin olun. Diyelim ki ServerA, ServerB ve ServerC adında 3 sunucunuz var. ServerA'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, çoğaltma kümesinin durumunu gösterir. Varsayılan olarak, her üye birbirine "kalp atışı" mesajları gönderir; bu mesajlar yalnızca sunucunun canlı ve çalışır durumda olduğunu gösterir. "status" komutu, bu mesajların durumunu alır ve çoğaltma kümesindeki herhangi bir üyede 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.


