Ubuntu Server Üzerine HA Elastic Cluster Kurulumu

Tugay Ersoy
2 min readNov 30, 2021

--

Elasticsearch ürünü birçok firma içerisinde aktif olarak kullanılan vazgeçilmesi güç uygulamalar arasına girmiştir. Bunun nedenlerini aşağıda belirttiğim maddeler halinde özetleyebiliriz;

  • Yatay scale edilerek yüksek ölçeklenebilir.
  • Open Source bir üründür.
  • Performansı oldukça yüksektir.
  • Kolay bir şekilde yedekleme yapılabilir.
  • Alternatiflerine göre çok az kaynak kullanarak çalışır.
  • Cluster yönetimi çok zor değildir.
  • İndeksleme yaptığı için, arama sonuçlarını hızlı bir şekilde verir.
  • Dokümanları JSON olarak indekslediğinden, birçok programlama dilini destekler.
  • Hızlı ve kolay kurulum imkanına sahiptir.
  • MongoDB, NoSQL, Cassandra ve HBase gibi veri tabanlarından ElasticSearch’e veri aktarımına izin verir.

Kurulumu

Elasticsearch kurulacak sunucu üzerinde yer alan Java versiyonunu kullanabileceğimiz gibi elastic ile beraber bir bundle halinde gelen java’yı da elastic’in çalışması için kullanabiliriz Kurulum aşamasında elastic kendi içerisinde bulunan bundle’ı kullanmayı tavsiye etmektedir#. Dökümanda belirtilen bundle kullanılarak elastic servisi başlatılmıştır.

Elasticsearch Reposunun Eklenmesi

  • Öncelikle Elasticsearch reposunun GPG keyini APT (GNU/Linux ve Debian tabanlı sistemlerdeki gelişmiş paketleme aracı)’e eklememiz gerekmektedir.
  • Elastic reposunun kaynak listesini, APT’nin bakacağı listeye ekliyoruz.
  • Paket listesini update ediyoruz.
  • Elasticsearch’ü yüklüyoruz.

Versiyon belirtilmediği taktirde en son versiyonu almaktadır.

  • Elasticsearch servisinin sistem tekrardan başlatıldığında da ayağa kalkması için aşağıdaki komut çalıştırılır.

Elasticsearch’ün Konfigürasyonları

  • Kurulum tamamlandıktan sonra /etc/elasticsearch directory’de elasticsearch.yml dosyası belirtilen komut ile açılır.
  • Belirtilen ayarlar doğrultusunda konfigürasyonlar yapılır.
  • Performans için Production senaryolarında Memory allocation ayarı yapılması gerekmektedir. Bunun için aşağıda yer alan komutlar çalıştırılır.
  • Açılan dosya içerisine belirtilen ayar eklenir.

JVM Konfigürasyonları

Elasticsearch java ile yazılan bir uygulamadır. Heap allocation işlemleri performansa etki etmektedir. Bu sebeple performans için max ve min sabit aynı değerler verilmesi gerekmektedir.

  • /etc/elasticsearch/jvm.options.d directory’si altında jvm.options adında bir file oluşturulur. Aşağıdaki parametreler eklenir.

Bu aşamada memory olarak sunucunun memory’si için yarısından fazlasını allocate etmemek gerekmektedir.

  • Son olarak belirtilen node’lar için servisler başlatılır.

Teşekkürler, keyifli searchler :)

--

--