Red Hat İşletim Sisteminde MongoDB Kurulumu
Bu doküman, Red Hat işletim sistemine sahip bir sunucuya MongoDB Replicaset 7.0 kurulumunu anlatmaktadır. Red Hat 8.x ve ya 9.x İşletim sisteminin olması tavsiye edilir.
Kuruluma Başlamadan Önce Yapılması Gereken Kontroller
Çok Önemli
Kurulumlara başlamadan önce mutlaka sunucunun hostname'nin localhost.localdomain olmadığından ve her birinin eşsiz olduğundan (hostname komutu ile) emin olun. Eğer bu şekilde ise mutlaka işlemlere başlamadan önce değiştirin.
#(Gerekirse) Hostname değiştirme
hostnamectl set-hostname your-new-hostname
/etc/hosts dosyasında 127.0.1.1 gibi ip'li blok hostname assign olmasın.
/etc/resolv.conf dosyasında "nameserver 127.0.1.1" şeklinde bir girdi olmamalıdır.
Önemli
Kurulumun sağlıklı olması için sunucularının aşağıdaki adreslere erişmesi gerekmektedir.
MongoDB:
https://www.mongodb.org/static/pgp/server-7.0.asc
https://repo.mongodb.org/apt/ubuntu
http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb
1) İşletim Sistemi Konfigürasyonları (Tüm MongoDB Sunucularında)
POWERSHELL
|
2) MongoDB Kurulumu
2.1) İşletim Sistemi Konfigürasyonları ve MongoDB Uygulamasının Kurulması (Tüm MongoDB Sunucularında)
POWERSHELL
POWERSHELL
POWERSHELL
|
2.2) MongoDB Konfigürasyonları (Tüm MongoDB Sunucularında)
Key oluşturma
POWERSHELL
Aşağıdaki parametreleri /etc/mongod.conf dosyasına kendi ortamınıza uygun olarak ayarlayarak eklemeniz gerekmektedir:
Diğer satırlar değiştirilmeden aşağıdakiler düzenlenir ve eklenir.
POWERSHELL
Sonrasında MongoDB uygulaması başlatılır.
POWERSHELL
MongoDB kurulumu eğer birden çok sunucu üzerinde yapılacaksa Primary node'da oluşturulmuş olan anahtarlar tüm node'lara taşınır ve aynı yetkiler verilir.
BASH
|
2.3) ReplicaSet Konfigürasyonu ve Yetkili Kullanıcı Tanımı (MongoDB Primary Sunucusunda)
Replicaset aktifleştirme işlemi sadece Primary sunucu üzerinde yapılmalıdır. Replicaset'i aktifleştirme:
POWERSHELL
Apinizer uygulaması için yetkili kullanıcı oluşturma
POWERSHELL
Eğer MongoDB'nin yerel yönetimi tarafınızdan gerçekleştirilecekse, aşağıdaki role sahip bir kullanıcının oluşturulması gerekmektedir.
POWERSHELL
Şifre değiştirilmek istenirse
POWERSHELL
Replicaset ayarları yapılır.
POWERSHELL
Daha önce oluşturulmuş olan MongoDB üzerinde bir kullanıcıya aşağıdaki komut satırlarını kullanarak yetki verin.
POWERSHELL
|
2.4) Birden Çok Sunucu Üzerinde MongoDB ReplicaSet Kurulumu (MongoDB Primary Sunucusunda)
Apinizer, MongoDB'nin yüksek kullanılabilirlik özelliğini önermektedir. Yüksek kullanılabilirlik, Primary Node'un başarısız olması durumunda Secondary Node'ların devreye girmesini sağlar. Yüksek kullanılabilirlik için MongoDB de en az 3 sunucu (1 Primary ve 2 Secondary) gerekmektedir. Eğer Primary node bir sorunla karşılaşırsa, bir Secondary node otomatik olarak Primary olur, böylece sistem kesintisiz çalışır. Primary node tekrar aktif hale döndüğünde, Secondary node olarak kalır. Fakat, 3 sunucudan daha az aktif sunucu olduğu durumda bu işlev görülemez. Yüksek kullanılabilirlik, sadece 3 sunucuyla sınırlı değildir; Arbiter veya daha fazla sunucu ile de uygulanabilir. Sistem devamlılığını artırmak için sunucular farklı yerlere konumlandırılabilir. Daha fazla bilgi için https://www.mongodb.com/docs/manual/core/replica-set-architectures/ bağlantısına göz atabilirsiniz. Mongod servislerini yeniden başlattığınızda, aşağıdaki komutları kullanarak Primary node üzerinde Secondary node'ları replica set mimarisiyle yapılandırabilirsiniz.
BASH
Bu adımla, biri Primary ve diğer ikisi Secondary olmak üzere toplam üç sunucudan oluşan bir yapı kurulmuştur. Yüksek kullanılabilirlik durumunda, Primary sunucunun bağlantısı kesilirse veya çalışmazsa, bir Secondary sunucu otomatik olarak ana sunucu rolünü üstlenmelidir. Bu durumu ayarlamak için, Primary node üzerinde tüm node'lar için şu adımları uygulanmalıdır.
BASH
Priority, node'un yeni Primary olarak seçilme önceliğini belirtir ve bu değer 0 ile 1 arasında ölçeklendirilebilir. 0 değeri hiç bir zaman Primary node olamayacağını belirtirken, diğer değerlerin 1'e yakınlığına göre Primary olma önceliği bulunur. Bu kurulum "mongoDb01, mongoDb02, mongoDb03, k8sWorkerIP" şeklindeki dns'lerin sistem tarafından çözülebildiği varsayılarak hazırlanmıştır. Sunucuların bu dns'leri çözemedikleri durumlarda ya bu durum düzeltilmedilir ya da tüm dns'ler ip olarak düzeltilmelidir. |