7 Ekim 2016 Cuma

Elasticsearch Kurulum

Elasticseach Nedir

Elasticsearch lucene tabanlı döküman indexleyen metin arama motorudur. Kısaca uygulamalarınız arkasında google search benzeri bir yapı kurarak dökümanları elasticsearch ile indexleyip arama işlevini bu altyapı üzerinden yapabilirsiniz.

Bu dökümanda sadece windows sunucular için kurulum işlemine deyineceğim.

Elasticsearch

Öncelikle elasticsearch ve kibana yüklemesini yapın. Ben c:\elactic dizini kullandığımdan indirilen zip dosyaları c:\elastic dizinine elasticsearch ve kibana dizinleri olarak açın.

Java sürümü kontrol edilmelidir (sürüm 1.7 yada yüksek olmalı). Bunun için
JAVA -version 
kullanılır. Ayrıca JAVA_HOME çevrel değişkeni kontrol edilmeli. Bu değişken JDK dizinini göstermelidir.
SET JAVA_HOME
komutu ile kontrol ediyoruz ve yok ise JDK yüklüyoruz yada dizini ayarlıyoruz.

Bu işlemden sonra konfigürasyonlara başlayalım. Konfigürasyonda editör kullanmamız gerekecek. Notepad++ tavsiye edilir.

Önce elasticsearch/config/elasticsearch.yml dosyasını editör ile açın.
   cluster.name, node.name, bootstrap.mlockall
alanlarını ayarlayın. Örnek değerler:
cluster.name "scorpio_dev_1"
node.name  node-1
bootstrap.mlockall true

İleride index dynamic mapper sorun çıkmasın diye dosya içine alttaki satırı ekliyoruz
index.mapper.dynamic: false

elasticsearch/bin klasöründen
elasticsearch.bat 
çalıştırıyoruz ve elasticsearch'ün sorunsuz çalıştığını kontrol ediyoruz.

Kontrol için önce herhangibir tarayıcıda
http://localhost:9200/ 
adresine gidelim aşağıdaki gibi json response almalıyız
{
"name": "node-1",
"cluster_name": "scorpio_dev_1",
"version": {
"number": "2.3.2",
"build_hash": "b9e4a6acad4008027e4038f6abed7f7dba346f94",
"build_timestamp": "2016-04-21T16:03:47Z",
"build_snapshot": false,
"lucene_version": "5.5.0"
},
"tagline": "You Know, for Search"
}

Sonra _cluster API kullanarak tarayıcıya
http://localhost:9200/_cluster/health 
adresini girelim. Aşağıdaki sonucu almalıyız.
{
"cluster_name": "scorpio_dev_1",
"status": "green",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 0,
"active_shards": 0,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}

KIBANA Kurulum

Siteden indirdiğimiz kibana dosyalarını C:\elastic\kibana dizinine açalım.
kibana\bin içinden
kibana.bat 
çalıştıralım. Bu aşamada 5601 portu için erişim izni ister erişim izni verelim.
Tarayıcıda
http://localhost:5601/status 
sayfasını açtığımızda Green yazısını göreceğiz. Bu aşamada en az bir index açmamız gerekiyor. Indexleri elasticsearch veritabanı olarak düşünebilirsiniz. Bu işlemler için önce chrome tarayıcımıza sense plugin yükleyeceğiz. Bu plugini linkten açılan sayfadan add to chrome düğmesi ile yüklersiniz. Chrome üzerine gelecek icona tıklayara sense plugini açabiliriz.

Elasticsearchten rest api çalıştırmamız gerekiyor. Basitçe bunu sense plugin ile yapabiliriz
Aşağıdaki kodu sense'in sol tarafına ekliyoruz. Index adımız testindex olsun.
PUT testindex
{
    "settings" : {
        "index" : {
            "number_of_shards" : 3,
            "number_of_replicas" : 2
        }
    }
}
RestApinin sonucu
"acknowledged": true 
gelmesi lazım.
Indexi tarayıcımızdan
http://localhost:9200/testindex 
adresi ile kontrol edebiliriz. Dönen JSON sonucunda indeks bilgileri yeralır.
Sonrasında tarayıcıdan
http://localhost:5601/
adresini açtığımızda kibana ekrana gelir. Bu aşamada indeks desenini tanımlamamız lazım testindex yada test* (ileride açacağımız diğer veritabanları varsa).
Ayrıca Index contains time-based events kapatıyoruz (örneğimizde zaman temelli event yok kabul ettik)
Create düğmesine bastığımızda kibana kurulumu tamamlamış olduk

Marvel Kurulum

Marvel linkinden uygulamayı indirelim.
Öncelikle Elasticsearch açık ise kapatalım.
cmd
ile komut istemine geçerek
 cd C:\elastic\elasticsearch\bin
elasticsearch bin dizinine geçelim.

Burada license plugin yüklememiz gerekiyor ve akabinde marvel-agent yüklememiz gerekiyor.
Install sırasında izin istiyor y(yes) olarak geçmemiz lazım.
plugin install license
plugin install marvel-agent

Bu işlemlerle elasticsearch, kibana ve marvel agent kurulumu tamamlamış olduk. Uygulamamızdan servis olarak bağlanarak arama motoru olarak kullanabiliriz. Oda başka bir makaleye kalsın.

Hiç yorum yok:

Yorum Gönder