MongoDB Replikasyon: Adım Adım Replika Seti Kapsamlı Kılavuz
Yayınlanan: 2020-02-27MongoDB'nin birçok işlevi vardır. Ve çoğaltma, bunlar arasında öne çıkan bir işlevdir. Çoğaltma gerçekleştirmenin birçok avantajı vardır. MongoDB ile dizi nesneleri ve gömülü diziler içeren büyük veri kümeleriyle çalışırsınız. Dizi nesneleri ve gömülü dizilerle çalışırken veri işleme hızınızı yüksek tutmalısınız. Önemini öğrenmek için MongoDB gerçek dünya kullanım örnekleri hakkında bilgi edinin.
Ve bu işlemin hızını yüksek tutmak için veri kullanılabilirliğinizin yüksek kaldığından emin olmanız gerekir. Yüksek veri kullanılabilirliğini sağlamanın harika bir yolu, çoğaltma gerçekleştirmektir. Çoğaltma ayrıca yedeklemeye yardımcı olur ve sizi veri kaybından kurtarır.
Bu makalede, MongoDB'de replikasyonun ne olduğunu, nasıl çalıştığını ve nasıl yapabileceğinizi öğreneceksiniz. Ayrıca MongoDB'de replikasyon yapmanın avantajlarını ve bu görevi gerçekleştirirken herhangi bir hata ile karşılaşırsanız bunları nasıl düzeltebileceğinizi öğreneceksiniz.
Başlayalım.
İçindekiler
Çoğaltma nedir?
Sunucuları kullanırken, verilerinizi birden fazla MongoDB sunucusunda senkronize etmeniz gerekir. Replikasyon süreci bu konuda size yardımcı olur. Çeşitli sunucularda depolanan aynı verilere sahip olmanızı sağlar.
Çoğaltma, veri kullanılabilirliğini artırır. Veri kaybı, kuruluşlar için önemli bir endişe kaynağıdır ve çoğaltma, bununla ilgili endişeleri azaltmanıza yardımcı olur. Yüksek veri kullanılabilirliği ve yedekliliği sayesinde, tek bir sunucuyu kaybederseniz veritabanınız güvende kalır. Onu depolayan tek sunucu çökerse, veritabanınıza erişiminizi kaybedersiniz.

Çoğaltma, bu sorunlarla karşılaşmamanızı sağlar. MongoDB replikasyonu, verilerinizin erişilebilirliğini artırmanın da etkili bir yöntemidir. Verilerinizin ek kopyalarına sahip olmak her zaman faydalıdır. Çoğaltma, sunucu bakımının kesinti süresini de azaltabilir.
Tüm bir sunucuyu raporlama, yedekleme veya olağanüstü durum kurtarmaya ayırma seçeneğiniz vardır.
MongoDB'de çoğaltmanın birçok avantajı vardır. Onları bulalım.
Replikasyonun Faydaları
Çoğaltmanın yaygın bir uygulama olmasının nedenlerinden bazıları şunlardır:
- Çoğaltma, bir felaket olması durumunda verileri kurtarmanıza yardımcı olur. Kayıp dosyalarınızı hızla kurtarabileceğiniz verilerinizin bir yedeğine sahip olursunuz.
- Verileriniz her zaman kullanılabilir durumda kalır. Bu, çoğaltmanın 7 gün 24 saat erişilebilirliğe sahip olmanızı sağladığı anlamına gelir.
- Düzenli olarak çoğaltma yaparsanız sunucu bakımının kesinti süresi azalır.
- Çoğaltma, okuma ölçeklenebilirliğinizi artırır. Birden çok kopyaya sahip olmak, verilerin okunmasını ölçeklendirmeye yardımcı olur.
Burada tartıştığımız faydaların yanı sıra, çoğaltmanın bir dezavantajı da vardır. Verilerinizin kopyalarını depolayacağınız için daha fazla depolama alanına ihtiyacınız olacak. Bu önemli bir sorun olmasa da belirtmekte fayda var. Sunucunuzun depolama kapasitesini artırmanız gerekebilir.
MongoDB Çoğaltma Nasıl Çalışır?
Çoğaltma gerçekleştirmek için MongoDB çoğaltma kümelerini kullanmanız gerekir. Aynı verileri barındıran bir grup mongod örneğine replika seti denir. Bir çoğaltma kümesi, bir birincil düğüm içerir. Birincil düğüm tüm yazma işlemlerini alır.
Bir çoğaltma kümesinin yalnızca bir birincil düğümü vardır. Diğer örnekler, ikincil düğümler de dahil olmak üzere kümenin birincil düğümünden gelen işlevleri uygular. Bu şekilde, hepsi aynı veri setine sahip olur. MongoDB replika seti şu şekilde çalışır:
- Bir çoğaltma kümesinde en az 3 düğüm bulunur
- Çoğaltma kümesinin bir düğümü, birincil düğümdür. Grupta bulunan diğer tüm düğümler ikincildir.
- Bir çoğaltma kümesinde, veriler birincil düğümlerden ikincil düğümlere çoğaltılır.
- Otomatik yük devretme gerçekleşirse (veya bakım sırasında), birincil olanı belirlemek için bir seçim yapılır. Ardından, düğümler yeni bir birincil seçer.
Artık MongoDB'deki replikasyonun temel kavramını tartıştığımıza göre, süreciyle başlayabiliriz.
Adım 1: İlk Üyeyi Ekleyin
Artık çoğaltmayı gerçekleştirmek için çoğaltma kümelerine ihtiyacınız olduğunu biliyorsunuz. Bu nedenle, MongoDB'de çoğaltmanın ilk adımı, örneklerinin bir çoğaltma kümesini oluşturmaktır. Sunucu X, Sunucu Y ve Sunucu Z olmak üzere üç sunucunuz olduğunu varsayalım. Bu üç sunucudan X Sunucusu birincil, Sunucu X ve Y ise ikincil sunuculardır.
Çoğaltmanın birincil sunucudan ikincil sunuculara gerçekleştiğini zaten biliyorsunuz. İlk olarak, tüm mongod örneklerinin (replika setine ekleyeceğiniz) çeşitli sunucularda kurulu olduğundan emin olmanız gerekir. Bu şekilde, biri çökse bile birden fazla sunucunuz olur ve böylece başka MongoDB örneklerine sahip olursunuz.

Ardından, tüm örneklerin bağlanabildiğinden emin olmalısınız. Verilen komutları Sunucu X'ten verin:
mongo –host ServerY –port 27017
mongo –host ServerZ –port 27017
Bunları Sunucu X'ten yayınladıktan sonra, kalan diğer sunuculardan yayınlayın. Şimdi replSet seçeneğini kullanarak ilk örneği başlatın. replSet seçeneği size bu süreçte yer alacak tüm sunucuların bir koleksiyonunu verir.
mongo –repl“ÇoğaltmaA”yı ayarla
Burada ReplicaA, replika kümesinin adıdır. İstediğiniz herhangi bir adı seçebilirsiniz, ancak bu örnek için bu terimi kullanacağız. Kopyalama kümesine bir sunucu ekledikten sonra, çoğaltma kümesini başlatmak için rs.initiate() komutunu vermeniz gerekir. Bundan sonra, çoğaltma kümenizi doğrulamanız gerekir.
Bunu yapmak için rs.conf() komutunu verin. Bu adım, replikanızın en iyi şekilde ve sorunsuz bir şekilde kurulmasını sağlamanıza yardımcı olacaktır.
Okuyun: MongoDB Mülakat Soruları ve Cevapları
2. Adım: İkincil Sunucu Ekleyin
Birincil sunucuyu ekledikten sonra artık ikinci bir sunucu eklemeye odaklanabiliriz. Bunun için rs.add komutunu kullanabilirsiniz. Bu komutta eklemek istediğiniz ikincil sunucuların adını girmeniz gerekir. Bunları otomatik olarak ekleyecektir.
Örneğimizde Sunucu X, Sunucu Y ve Sunucu Z vardı. Bu üç sunucudan Sunucu X, replika setindeki birincil sunucuydu. Kalan sunucuları ikincil olarak eklememiz gerekir. Ve bunu yapmak için aşağıdaki komutları vereceğiz:
rs.add(“SunucuY”)
rs.add(“SunucuZ”)
Ve bu kadar. Şimdi, çoğaltma kümenize başarıyla iki ikincil öğe eklediniz.
3. Adım: Yeniden Yapılandırma (veya Kaldırma)
Sunucu kurmak ve eklemek, madalyonun sadece bir yüzüdür. Yapılandırma grubundan bir sunucuyu da kaldırmanız gerekebilir. Bunun için rs.remove komutunu kullanmanız gerekir.
Bir sunucuyu kaldırmadan önce onu kapatmanız gerekir. Gerekli sunucuyu kapatmak için mongo kabuğunuzdan db.shutdownserver komutunu kullanın. Bundan sonra, birincil sunucuya bağlanın ve kaldırmanız gereken sunucuyu kaldırmak için rs.remove'u kullanın. Bu komut, gerekli sunucuyu çoğaltma kümesinden siler.
Dolayısıyla, replika kümenizde Sunucu Z'den kurtulmanız gereken Sunucu X, Sunucu Y ve Sunucu Z varsa, aşağıdaki komutu kullanacaksınız:
rs.remove(“ServerZ”)
Çoğaltma Kümesi Hataları Nasıl Onarılır
MongoDB'de replikasyon yaparken bazı hatalarla karşılaşabilirsiniz. Bu hataları gidermek için aşağıdaki yöntemlerden yardım almalısınız:
- İlk olarak, tüm mongo örneklerinin bağlı olduğundan emin olun. Dolayısıyla, Sunucu X, Sunucu Y ve Sunucu Z olmak üzere üç sunucunuz varsa. Ve bu üç sunucu arasında Sunucu X, birincil sunucudur. Aşağıdaki komutları verirsiniz:
mongo -host ServerY -port 27017
mongo -host ServerZ -port 27017
Yukarıdaki iki komutu çalıştırmak, bağlı olduklarından emin olmanıza yardımcı olacaktır.
Şimdi rs.status olan status komutunu çalıştırın. rs.status komutu, çoğaltma kümenizin durumunu size verir. Bir kopya kümesinin üyeleri birbirlerine bazı mesajlar gönderir. Bu mesajlara 'kalp atışı' diyoruz. Biz onlara kalp atışı diyoruz çünkü bu mesajlar üyenin çalıştığını (yani hayatta olduğunu) gösteriyor.
rs.status komutu bu mesajları kontrol eder ve replika kümesinin bir üyesiyle ilgili herhangi bir sorun olup olmadığını size söyler.

- Oplog'u inceleyebilirsiniz. MongoDB'de oplog, veritabanınızda gerçekleştirdiğiniz yazmaların geçmişini saklar. MongoDB, yazmaları çoğaltma kümenizin diğer tüm üyelerine çoğaltmak için Oplog'un yardımını alır.
- Gerekli üyeye bağlandıktan sonra rs.printReplicationinfo komutunu kullanarak Oplog'u kontrol edebilirsiniz. rs.printReplicationinfo komutu size Oplog'un boyutunu ve dolana kadar işlem tutma sınırını gösterecektir.
Ve bu kadar. Artık bir MongoDB replika seti ile ilgili sorunları nasıl gidereceğinizi biliyorsunuz. Bu bilgi ile herhangi bir sorunla karşılaşmadan MongoDB'de replikasyon yapmaya başlayabilirsiniz.
Son düşünceler
Replikasyon, MongoDB'de yapabileceğiniz birçok şeyden sadece biridir. Bu veritabanı programının kullanımını öğrenmek kolay değil. Ancak, uygun uygulama ve kaynaklarla, onu kullanmakta hızla ustalaşabilirsiniz.
MongoDB ve içinde bulunan çeşitli işlevler hakkında daha fazla bilgi edinmek istiyorsanız, blogumuza gidin. Orada, bu konudaki bilginizi genişletmenize yardımcı olabilecek birçok faydalı makale bulacaksınız.
Büyük Veri hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dili ve aracını kapsayan, pratik uygulamalı Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın çalıştaylar, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.
Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.