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.

  • 🗄️ Temel Konsept: Veri çoğaltma işlemi, aynı veriyi birden fazla sunucuya kopyalayarak, birincil sunucu arızalandığında bile bilgilerin erişilebilir kalmasını sağlar.
  • 👑 İlköğretim ve Ortaöğretim: Bir çoğaltma kümesi, yazma işlemlerini kabul eden birincil üye ve okuma işlemlerini gerçekleştiren ikincil üyelerden oluşur.
  • ???? Küme Oluşturma: `rs.initiate()` komutu, `replSet` seçeneğiyle ilk `mongod` örneği başlatıldıktan sonra bir çoğaltma kümesi başlatır.
  • Üye Ekleme: `rs.add()` komutu ikincil sunucuları eklerken, `rs.remove()` komutu bir üyeyi yapılandırmadan kaldırır.
  • 🔧 Sorun Giderme: rs.status() ve rs.printReplicationInfo() komutları, teşhis için kalp atışı sağlığını ve Oplog boyutunu gösterir.

MongoDB Çoğaltma: Nasıl Oluşturulur MongoDB Replika Seti

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.

Çoğaltma Kümesi Oluştur MongoDB

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.

  1. 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
  2. `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.
  3. 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.

SSS

Evet. Yapay zeka asistanları, çoğaltma kümesi için mongod başlatma seçeneklerini, rs.initiate() yapılandırmasını ve rs.add() komutlarını oluşturabilir. Yapılandırmayı üretim sunucularına uygulamadan önce her zaman ana bilgisayar adlarını, bağlantı noktalarını ve üye önceliklerini gözden geçirin.

Evet. Yapay zeka destekli izleme araçları, birincil sunucunun gerisinde kalan ikincil sunucuları belirlemek için rs.status() ve Oplog metriklerini okuyabilir. Ağ gecikmesi veya yavaş diskler gibi nedenler önerebilirler, ancak mühendisler harekete geçmeden önce bunu doğrulamalıdır.

MongoDB Genellikle üç olmak üzere tek sayıda oy kullanan üye önerilir, böylece seçimler çoğunluğa ulaşabilir. Yalnızca iki veri düğümü karşılanabiliyorsa, veri depolamadan eşitlik durumunda karar vermek için bir hakem eklenebilir.

Birincil aday ulaşılamaz hale geldiğinde, kalan üyeler bir seçim düzenler ve uygun bir yedek adayı otomatik olarak birincil aday yapar. Yeni bir birincil aday seçildikten sonra işlemler yeniden başlar.ping Uygulama minimum kesinti süresiyle kullanılabilir.

Bu yazıyı şu şekilde özetleyin: