Install & Run — Elasticsearch & Kibana

Berke Sayın
6 min readSep 12, 2023

--

İlk yazımda Elastic Stack ürünlerinden bahsedip, verilerin saklanması, analiz edilmesi, bir sonucu ifade ederek görselleştirilmesi, kullanıcıların aradığı ürünle ilgili sonuçlara hızlı ve doğru şekilde ulaşabilmesi gibi durumlar için nasıl kullanıldığını açıklamıştım. İkinci yazımda ise Elasticsearch üzerinde durup easy-scalable ve distributed yapısı ile search işlemlerinin nasıl hızlı gerçekleştirildiğini anlatmıştım. Peki Elasticsearch ve Kibana ile çalışabilmek için bu ürünlere kendi local’imizde nasıl erişim sağlarız?

Herkese merhaba. Bu yazımda Elasticsearch’de CRUD operations konusuna geçmeden önce local’de Elasticsearch ve Kibana’nın çalıştırılmasına değineceğim. Keyifli okumalar :)

Konular

  • Elasticsearch İçin Gereksinimler
  • Sistemim
  • Java Runtime Environment (JRE) Kurulumu
  • Elasticsearch Kurulumu
  • Elasticsearch Konfigürasyon
  • Config: xpack.security.enabled
  • Kibana Kurulumu
  • Start / Stop Servers: Elasticsearch & Kibana

Elasticsearch İçin Gereksinimler

Elasticsearch Java tabanlı, dağıtık (distributed) mimariye sahip arama ve analiz motorudur. Büyük veri depolama, arama ve gerçek zamanlı analiz için kullanılır.

Kibana ise veri görselleştirme ve analiz aracıdır. Elasticsearch ile entegre çalışarak verileri analiz etmeye ve görselleştirmeye yarar. Kibana’nın sağladığı arayüz (UI) ile verileri grafikler, tablolalar, metrik panoları gibi görselleştirme araçlarıyla daha iyi anlayıp yorumlayabiliriz ve o verilerle ilgili sonuca daha rahat şekilde ulaşabiliriz

Elasticsearch ve Kibana Java Sanal Makinesi (JVM) üzerinde çalışır. Bu nedenle, bu yazılımları local’de (bilgisayarınızda) kullanmak için Java Runtime Environment’ın (JRE) doğru şekilde kurulu olması gerekmektedir.

Kurulum Yapacağım Sistem

Ubuntu 22.04.2 LTS

Kişisel bilgisayarımda Ubuntu 22.04.2 LTS kullandığım için gerekli kurulum ve çalıştırma işlemlerini bu sistem üzerinde gösteriyor olacağım.

Ubuntu 22.04 İçin Java Runtime Environment (JRE) Kurulumu

  1. İlk olarak apt package index’ini güncellemeliyiz:
sudo apt update

2. Java’nın sistemde kurulu olup olmadığını kontrol edelim:

java -version

Eğer Java kurulu değilse terminalde şu şekilde uyarı alırız:

Output:

Command 'java' not found, but can be installed with:

sudo apt install default-jre # version 2:1.11-72build1, or
sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2
sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1
sudo apt install openjdk-18-jre-headless # version 18~36ea-1
sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1

3. Java Runtime Environment’ı (JRE) kurmak için Output içerisinde de gösterilen şu komutu çalıştıralım:

sudo apt install default-jre

4. Java Runtime Environment (JRE), Java tabanlı yazılımları sistemimizde çalıştırabilmeyi sağlar. Installation işlemi bittikten sonra şu komut ile Java versiyonunu kontrol edelim:

java -version
JRE (Java Runtime Environment)

Bu komut ile Java Runtime Environment’ın başarılı şekilde kurulduğunu anlarız. Bazı özel yazılımları çalıştırabilmek için JRE’ye ek olarak JDK’nın da kurulu olması gerekir.

5. Aşağıdaki komut JDK’yı da kuralım:

sudo apt install default-jdk

6. javac — Java compiler versiyonunu kontrol ederek JDK kurulumundan emin olalım:

javac -version

JRE ve JDK kurulumunu başarılı şekilde tamamladık. Şimdi Elasticsearch ve Kibana installation işlemlerine geçebiliriz.

Elasticsearch Kurulumu

1. Komut

lsb_release -a

Bu komut ile sistem özelliklerimizi kontrol ederiz.

Ubuntu 22.04.2 LTS

2. Komut

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Bu komut, Elasticsearch için GPG Key indirir ve ardından apt-key aracılığıyla sisteme ekler. GPG key’ler güvenlik için kullanılır. Elasticsearch’den indirmek istedğimiz bütün modüllerin doğru kaynaktan gelmesini sağlar.

3. Komut

echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Bu komut, Elasticsearch ve Kibana paketlerini paket yöneticisi olan APT’ye ekler. Elasticsearch’ün bütün resmi repository’lerinin sistemimize yüklenmesi şeklinde düşünebiliriz.

4. Komut:

sudo apt update

Bu komut, APT (Advanced Package Tool) ile sistemdeki paket depolarını günceller. apt update komutu, sistemdeki paket kaynaklarından en son güncellemeleri indirir ve mevcut paket listesini yeniler. Bu şekilde, sistemde bulunan paketlerin en güncel sürümlerini kontrol etmemizi sağlar.

5. Komut:

sudo apt install elasticsearch

Bu komut, Elasticsearch paketinin Ubuntu sistemine kurulmasını sağlar.

Elasticsearch Konfigürasyon:

Terminali açalım.

  • cd .. ile şu dizine gidelim: /home
  • cd .. ile şu dizine gidelim: /
  • ls komutu ile / altındaki klasörleri, dosyaları görelim
  • cd etc ile /etcdizinine gidelim
  • ls komutu ile /etc altındaki klasörleri, dosyaları görelim
  • Terminalde scroll ile aşağı indiğimizde /elasticsearch’ü görürüz.
  • /elasticsearch'e locate olmamız gerekli, fakat cd elasticsearch komutunu çalıştırdığımızda ‘Permission denied’ uyarısı alırız
  • sudo ls elasticsearchile /elasticsearch için directory contents’i görürüz

Buradaki elasticsearch.yml dosyası içerisinde değişiklik yapmamız gerekli.

Elasticsearch konfigürasyonu için, config seçeneklerinin çoğunun tutulduğu elasticsearch.yml dosyasını düzenlememiz gerekir. Bu dosya /etc/elasticsearch dizininde bulunur.

  • sudo nano elasticsearch/elasticsearch.ymlkomutu, elasticsearch.yml dosyasını terminalde açar.

elasticsearch.yml dosyasını düzenlemek için bu şekilde terminalde açarız.

Burada dosya açıldığında eğer

  • xpack.security.enabled:true ise false yapalım
  • xpack.security.enabled bulunmuyorsa, xpack.security.enabled:false olacak şekilde ekleyelim

xpack.security.enabled

xpack.security.enabled Elasticsearch'ün configuration (elasticsearch.yml) dosyasında bulunan bir ayardır. Bu ayar, Elasticsearch'ün güvenlik özelliklerini etkinleştirme veya devre dışı bırakma amacıyla kullanılır.

Elasticsearch’ün X-Pack eklentisi, çeşitli güvenlik özelliklerini sunar. Bunlar arasında kullanıcı kimlik doğrulama, rol tabanlı erişim kontrolü, şifreleme, oturum açma, izleme ve denetim gibi özellikler bulunur.

xpack.security.enabled ayarı, bu güvenlik özelliklerinin etkinleştirilip etkinleştirilmeyeceğini belirler.

  • xpack.security.enabled:true: Bu ayar, Elasticsearch'in güvenlik özelliklerini etkinleştirir. Bu durumda, kullanıcılar ve roller oluşturabilir, kimlik doğrulama gerçekleştirebilir ve verileri şifreleyebiliriz.
  • xpack.security.enabled:false: Bu ayar, Elasticsearch'in güvenlik özelliklerini devre dışı bırakır. Bu durumda, kimlik doğrulama, erişim kontrolü ve şifreleme gibi güvenlik önlemleri kullanılmaz.

Burada config dosyamızda xpack.security.enabled değerini false olarak belirledik. Çünkü bu durumda Elasticsearch’e erişim ve kullanım daha kolay hale gelir. Özellikle geliştirme ve test aşamalarında bu özelliği tercih edebiliriz.

Ayrıca xpack.security.enabled değerini true olarak belirlediğimizde Elasticsearch ve Kibana’yı kullanabilmek için ilk olarak user ve password oluşturmamız gerekir.

Kibana Kurulumu

1. Komut

sudo apt install kibana

Bu komut ile Elasticsearch’ten sonra Kibana kurulumunu da tamamlayabiliriz.

Start / Stop Servers (Elasticsearch & Kibana)

JRE, JDK, Elasticsearch ve Kibana için kurulum ve configuration ayarlarını tamamladık. Şimdi de local’imizde çalıştıralım.

  1. Komut
sudo systemctl start elasticsearch

Bu komut, Elasticsearch’ü başlatmak, server’da çalıştırmak için kullanılır.

2. Komut

sudo systemctl enable elasticsearch

Bu komut Elasticsearch’ün sürekli çalışmasını sağlar ve sistem yeniden başlatmaları sonrasında manuel olarak servisi başlatma ihtiyacını ortadan kaldırır.

3. Komut

sudo systemctl status elasticsearch

Bu komut ile Elasticsearch’ün çalışma durumunu (active — inactive) görürüz.

Elasticsearch Status Active (Running)

4. Komut

curl -X GET ‘http://localhost:9200'

Elasticsearch başaltıldıktan sonra, active durumdayken bu komut ile Elasticsearch server’ın çalışıp çalışmadığını test edebiliriz.

localhost:9200

Elasticsearch request’ler için default olarak 9200 port’unu kullanır.

Elasticsearch Default Port: 9200

Kibana İçin

Kibana için server’ı başlatmak, durdurmak ve aktiflik durumlarını görebilmek için de bu komutları kullanırız.

  • sudo systemctl start kibana
  • sudo systemctl enable kibana
  • sudo systemctl status kibana
  • sudo systemctl stop kibana
Kibana Status Active (Running)

Kibana default olarak 5601 port’unu kullanır.

Kibana Default Port = 5601

Sonuç

Bu yazımda Elasticsearch ve Kibana’nın local bilgisayarımızda kurulum ve çalıştırılmasını inceledim. Bir sonraki yazımda CRUD Operations konusu üzerinde duracağım. Görüşmek üzere :)

--

--

No responses yet