Elasticsearch Serisi : 02 Mimari Özellikleri, Sharding, Failovering ve Scaling

By Burak Tungut - 10.12.2015 - Kategori DevOps

Herkese selam!

Blogumu takip ediyorsanız bir önceki makalem Elasticsearch Serisi : 01 Ubuntu Server'a Elasticsearch Kurulumu idi. Eğer seriye yeni başlayacaksanız ve hiç elasticsearch kurulumu gerçekleştirmediyseniz bir göz atmanızda fayda var derim.

Bugün ise aşağıda göreceğiniz ve elasticsearch'de bilmemiz gereken terimlere değineceğiz. Son iki maddemiz olan shards ve replicas'lara biraz ayrıcalık tanıyacağız. Çünkü makalenin odak noktası olarak onları belirledim. Sonraki bölümlerde detaylarıyla diğer maddelerede değineceğiz.

  1. Node
  2. Cluster
  3. Index
  4. Type
  5. Mapping
  6. Document
  7. Shard ve Replica

Bazı yabancı kaynakları incelerseniz node'lardan önce cluster'ları incelediklerini görebilirsiniz. Bu gerçekten garibime gidiyor. Neden mi? Aşağıda değindim. Haydi başlayalım.

Node

Elasticsearch node ismi

Bir server üzerine kurduğumuz ve sonraki makalelerimizde göreceğimiz document'larımızı index'leyip, üzerlerinde query'ler çalıştıracağımız tek bir elasticsearch instance'ına verdiğimiz isimdir. Buna örnek olarak bir önceki makalemizde ubuntu server üzerine kurduğumuz elasticsearch instance'ını verebiliriz. Kendileri bir node olurlar. 

Kurduğumuz bir node özellikle müdahele etmediysek random bir isim alır. Elasticsearch geliştiricileri random bir string vermektense Marvel karakterlerinden bir tanesini random seçerek atanmasını sağlamışlardır. Hatta gelin bir önceki makalede kurduğumuz elasticsearch node'unun ismine bir bakalım.

Bunun için /_nodes endpoint'ine HTTP GET request atmamız yeterli olacaktır. Sense yardımıyla bir request atalım ve node'umuza Marvel karakterlerinden atanan ismi görelim.

Beklentim bir Hulk idi fakat ilk defa duyduğum Balthakk ismi ile karşılaştım smiley

Eğer sonraki alt konuda inceleyeceğimiz gibi bir cluster'ımız varsa ve çok fazla node üzerinde çalışıyorsak yönetilebilirlik açısından default isimler yerine bizim vereceğimiz isimleri tercih etmek durumunda kalabiliiz. Bir node'un ismini sadece bir HTTP POST ile sonradan değiştirebiliyoruz. REST API'lar üzerine kurulu olmasının bir faydası daha! 

Dikkatinizi birde resimdeki ilk key'lerden cluster_name'e çekmek isterim. Bu da node'un dahil edileceği cluster ismimiz. Eğer aynı network'de birden fazla cluster'ımızda varsa default cluster ismi yerine yine kendimiz bir cluster ismi vermek durumunda kalabiliriz diyelim ve şimdi cluster ile konumuza devam edelim.

Devamı
1
Facebook
Son Yorumlar