Install & Run — Elasticsearch & Kibana
İ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
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
- İ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
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.
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: /homecd ..
ile şu dizine gidelim: /- ls komutu ile / altındaki klasörleri, dosyaları görelim
cd etc
ile/etc
dizinine gidelimls
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, fakatcd elasticsearch
komutunu çalıştırdığımızda ‘Permission denied’ uyarısı alırız
sudo ls elasticsearch
ile/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.yml
komutu, 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.
- 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.
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.
Elasticsearch request’ler için default olarak 9200 port’unu kullanır.
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 default olarak 5601 port’unu kullanır.
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 :)