Elasticsearch Serisi : 01 Ubuntu Server'a Elasticsearch Kurulumu

By Burak TUNGUT - 30.11.2015 - 4 Yorum - Kategori DevOps

Herkese uzun bir aradan sonra tekrar merhaba laugh

Şöyle bir baktımda son makalemden bu yana tam 2 yıl geçmiş. Şu aralar yeni makaleler yazmak, sahenelere geri dönmek aklımdaydı. Seçtiğim günün bir önceki makalemi yazdığım günden tam 2 sene sonra olması cidden büyük bir tesadüf oldu. 2 sene boyunca neler yaptığımı, nerelerde olduğumu ve hayatımda ne gibi değişiklikler olduğunuda bir makale ile kısaca ele alacağım. Belki merak edenler olur laugh

Bu makale aslında şu aralar yoğunlaştığım elasticsearch hakkında başlayacağım makale serisine bir giriş yapmış olacağız. İşi en baştan almak gerekir diye düşündüm. Bu nedenle bir Ubuntu server üzerine SSH server ve elasticsearch engine'i kuracağız.

Makalemde elasticsearch'in ne olduğu ile ilgili detaylı bilgiler vermeyeceğim. Hiç duymamış olan arkadaşlar için küçük bir araştırma yapmalarını öneririm. Aynı zamanda makale de ubuntu server'ın bir VM üzerine nasıl kurulacağınıda anlatmayacağım. Bunlar için step-by-step bir çok resimli makale bulabilirsiniz. Ama küçük öneriler vermek gerekirse aşağıdakileri kullandım;

  1. Oracle VM VirtualBox 5
  2. Ubuntu Server 14.04.3
  3. Putty (SSH Client için)
  4. Elasticsearch 1.7.4

Şu anda her ne kadar elasticsearch'in major 2 version ve bir iki tane de minör version'ı release olmuş olsada çok fazla breaking changes bulunduğu için 1.7.4'yi kurdum. Siz isterseniz herhangi major 2 version'unda kurabilirsiniz.

Ubuntu Server Üzerine SSH Server ve JDK Kurulumu

Benim gibi clean install'ları tercih edenlerden misiniz? Öyleyse kurduğunuz ubuntu server üzerinde SSH server bulunmamakta. İşe onu kurmak ile başlayalım. Console'dan sudo-i komutu ile super user'a geçiş yapalım. İsimlendirmeler sizcede çok güzel değil mi ? Kendimi şu anda elasticsearch kurulumu yapmak üzere olan neredeyse hiç linux kullanmamış süper bir kullanıcı olarak hissediyorum laugh

Super user'a geçiş

Şimdi SSH server kurulumunu yapalım. Bunun için console'dan apt-get install openssh-server komutunu çalıştıralım. Bellki bir kaç işlemden sonra diskte kullanılacak alan için bizden izin istenecektir. Buna Y ile cevap verelim.

SSH server kurulumu

Devamı

#Kısa Notlar : Elasticsearch Node Clone Sonrası Clustering Problemi MasterNotDiscoveredException

By Burak TUNGUT - 15.3.2017 - Kategori DevOps

Selamlar herkese,

Bugün uzunca yazmaktansa karşılaştığım ve yaklaşık olarak 3-4 saatimi alan problemin nasıl çözüldüğünü anlatacağım. Artık yavaş yavaş bu kapsamda, kısa not niteliği taşıyacak şeyleride paylaşmaya başlayacağım.

Tüm search yapımızı elasticsearch'e geçirmeyi planladığımız şu günlerde bir kaç yeni failover stratejisini denemek için 5 adet master node'a ihtiyacım vardı. Bunun için DC'de bir adet host üzerine bir Centos minimal VM kurdum. Onun üzerine ise Elasticsearch ve Kibana 5'i kurdum.

#Kısa Notlar : Elasticsearch Node Clone Sonrası Clustering Problemi MasterNotDiscoveredException

Tekar aynı adımları tekrarlamaktansa kurduğum VM'i clone'ladım fakat hepimizin clustering için gerekli olduğunu bildiğimiz konfigürasyonları yapmama rağmen ikinci sırada ayağa kalkan node'dan ısrarla MasterNotDiscoveredException aldım. Bu exception tek başına çok anlamlı olmayacaktır çünkü genelde network'de oluşan sorunlardan dolayı ya da unicast'te hiç bir master node'un olmamasından dolayı böyle bir hata ile karşılaşabiliyoruz. Kontrol ettiğimde node'lar ayakta ve her biri 9300 portu ile haberleşebilecek durumda idi.

Index log'larda ise şöyle bir ayrıntı yakaladım; with the same id but is a different node instance

Buradaki asıl problem elasticsearch'ün data folder'a her bir index için attığı klasör ve içerdiği segment file'ların aslında node ismini içermesi. E haliyle clone ettiğim ve sonradan adını değiştirdiğim node'un file'larında eski node'un isimleri geçiyor. Kısacası clone sonrası bu dosyaları silmemiz gerekiyor :) Zaten data node ise sharding başlayacak ve alması gereken index'lerin segment'lerini almaya başlayacaktır.

Sorunu çözmek için data folder'ı boşaltmanız yeterli olacaktır. Not olarak şunuda söylemek isterim ki MasterNotDiscoveredException sadece bu nedenle JVM tarafından fırlatılan bir hata değildir. Değindiğim sorun ve çözüm bu hatayı oluşturan case'lerden sadece birtanesi.

Herkese iyi çalışmalar,
Burak.

Devamı
1
Facebook
Son Yorumlar