Giriş: Neden Elasticsearch?
Bir gün projelerinizi yönetirken, milyonlarca verinin arasında kaybolduğunuzu hayal edin. Veritabanı sorguları çok yavaş çalışıyor, bulmak istediğiniz veriye ulaşmak neredeyse imkansız hale geliyor. İşte burada Elasticsearch devreye giriyor! Elasticsearch, açık kaynaklı ve güçlü bir arama motorudur. Verilerinizi çok hızlı bir şekilde indeksler ve arama yaparken saatlerce beklemenize gerek kalmaz. Peki, bunu Linux üzerinde nasıl kurup ayarlarsınız? Merak etmeyin, sizi adım adım yönlendireceğim!
1. Elasticsearch İhtiyaçlarını Kontrol Edin
Her şeyden önce, Elasticsearch'u kurmadan önce sisteminizin bazı gereksinimleri karşılaması gerekiyor. Elasticsearch, Java ile çalışır, bu yüzden Java'nın yüklü olduğundan emin olun. Ayrıca, yeterli belleğe sahip olduğunuzdan ve disk alanınızın Elasticsearch'ün ihtiyaçlarını karşılayacak kadar geniş olduğundan emin olmalısınız.
İlk olarak, Java sürümünü kontrol edelim:
java -version
Eğer Java yüklü değilse, onu yüklemeniz gerekecek. Bunun için terminale şu komutları girin:
sudo apt update
sudo apt install openjdk-11-jdk
2. Elasticsearch Paketini İndirme ve Kurma
Elasticsearch'u kurmak için en güncel versiyonunu Elasticsearch’un resmi sitesinden veya depolarından indirebilirsiniz. Linux üzerinde Elasticsearch kurmanın en kolay yolu, sisteminize uygun paketleri kullanmaktır.
İlk olarak Elasticsearch’ün resmi depolarını sisteminize ekleyin:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" > /etc/apt/sources.list.d/elastic-8.x.list'
Ardından Elasticsearch paketini kurabilirsiniz:
sudo apt update
sudo apt install elasticsearch
Kurulum tamamlandığında, Elasticsearch servisini başlatabilirsiniz:
sudo systemctl start elasticsearch
Ve Elasticsearch'ün otomatik olarak sisteminizle başlatılmasını sağlamak için şu komutu kullanın:
sudo systemctl enable elasticsearch
3. Elasticsearch'ün Çalışıp Çalışmadığını Kontrol Edin
Kurulum başarılıysa, Elasticsearch'ün çalıştığını doğrulamak için şu komutu kullanabilirsiniz:
curl -X GET "localhost:9200/"
Eğer her şey yolundaysa, aşağıdaki gibi bir yanıt alacaksınız:
{
"name" : "hostname",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "abc123",
"version" : {
"number" : "8.x.x",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "abc123",
"build_date" : "2025-01-01T01:01:01.000Z",
"lucene_version" : "8.x",
"minimum_wire_compatibility_version" : "8.x",
"minimum_index_compatibility_version" : "8.x"
},
"tagline" : "You Know, for Search"
}
4. Elasticsearch Yapılandırma Ayarları
Şimdi Elasticsearch'ün temel yapılandırma dosyasına göz atalım. Bu dosya, Elasticsearch'ün nasıl çalışacağını belirler. Genellikle yapılandırma dosyasını şu şekilde bulabilirsiniz:
sudo nano /etc/elasticsearch/elasticsearch.yml
İçinde yapabileceğiniz birkaç temel ayar şunlardır:
- network.host: Elasticsearch’ün hangi IP adresi üzerinden dinleyeceğini belirler. Bu ayarı şu şekilde değiştirebilirsiniz:
network.host: 0.0.0.0
Bu, Elasticsearch’ün tüm IP adreslerinden gelen istekleri kabul etmesini sağlar.
- cluster.initial_master_nodes: Elasticsearch'ün ilk kurulumunda master node'unu belirler.
cluster.initial_master_nodes: ["node-1", "node-2"]
Yapılandırma dosyasındaki değişiklikleri kaydettikten sonra, Elasticsearch servisini yeniden başlatmanız gerekecek:
sudo systemctl restart elasticsearch
5. Elasticsearch ile İlk Arama
Elasticsearch'ü kurup ayarladınız, şimdi ise ilk aramanızı yapabilirsiniz. Diyelim ki bir "books" dizini oluşturacağız ve içine bazı veriler ekleyeceğiz. İlk olarak, bir indeks oluşturun:
curl -X PUT "localhost:9200/books"
Ardından, bazı veriler ekleyelim:
curl -X POST "localhost:9200/books/_doc/1" -H 'Content-Type: application/json' -d'
{
"title": "The Great Gatsby",
"author": "F. Scott Fitzgerald",
"year": 1925
}
'
Şimdi ise arama yapabiliriz:
curl -X GET "localhost:9200/books/_search?q=title:gatsby"
Bu komut, "gatsby" kelimesini içeren kitapları arayacaktır.
Sonuç
Artık Elasticsearch, Linux sunucunuzda kurulmuş ve hazır! Elasticsearch, güçlü arama ve analiz özellikleri ile verileriniz üzerinde hızlı ve etkili bir şekilde işlem yapmanızı sağlar. İster log verilerini izleyin, ister büyük veri kümeleri üzerinde arama yapın, Elasticsearch her zaman yanınızda.
Elasticsearch’un sunduğu daha derin özellikler ve kullanım detayları hakkında daha fazla bilgi edinmek için [Elasticsearch dökümantasyonuna](https://www.elastic.co/guide/en/elasticsearch/reference/index.html) göz atabilirsiniz.