Uvod
Elasticsearch predstavlja izvanredan, otvoreno-kodni sistem za distribuirano pretraživanje i analizu podataka, kreiran od strane Elastic tima. Omogućava efikasno i skalabilno rešenje za indeksiranje, pronalaženje i analizu ogromnih količina podataka u realnom vremenu.
Elasticsearch se često koristi za:
- Pretraživanje tekstualnih sadržaja i celog teksta
- Detaljnu analizu skupova podataka
- Prikupljanje i obradu podataka
- Aplikacije za vođenje evidencije i nadzor sistema
- Geoprostorne pretrage
U ovom tekstu, detaljno ćemo vas provesti kroz proces instalacije i podešavanja Elasticsearch-a na Rocky Linux 8 serveru.
Proces Instalacije
1. Dodavanje Elastic repozitorijuma
Prvi korak je da omogućite Elastic repozitorijum na vašem serveru:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo yum install https://artifacts.elastic.co/packages/7.x/yum/elastic-7.x.rpm
2. Instaliranje Elasticsearch-a
Sada možete instalirati Elasticsearch koristeći ovu komandu:
sudo yum install elasticsearch
Podešavanje
1. Konfigurisanje Java memorije (heap)
Po default-u, Elasticsearch koristi polovinu sistemske RAM memorije za Java heap prostor. Ovo možda neće biti dovoljno za produkcijsko okruženje. Za konfiguraciju heap prostora, izmenite datoteku /etc/elasticsearch/jvm.options
:
sudo vim /etc/elasticsearch/jvm.options
Potražite sledeću liniju:
-Xmx1g
I povećajte vrednost memorije u gigabajtima prema vašim potrebama, npr.:
-Xmx2g
2. Podešavanje broja niti
Elasticsearch koristi po default-u 1 nit po procesorskom jezgru. Ovaj broj se može povećati radi boljih performansi na sistemima sa više jezgara.
Izmenite datoteku /etc/elasticsearch/elasticsearch.yml
:
sudo vim /etc/elasticsearch/elasticsearch.yml
Potražite sledeću postavku:
thread_pool.search.size: 1
I prilagodite vrednost broju jezgara vašeg sistema, npr.:
thread_pool.search.size: 4
3. Aktivacija CAUTHN-a
Iako se ne preporučuje za produkciona okruženja, aktivacija CAUTHN-a olakšava razvoj i testiranje, dozvoljavajući pristup Elasticsearch-u bez autentifikacije.
U datoteci /etc/elasticsearch/elasticsearch.yml
, uklonite komentar sa sledećih postavki:
xpack.security.enabled: false
xpack.security.authc.anonymous.enabled: true
Pokretanje i Verifikacija Elasticsearch-a
1. Pokretanje Elasticsearch-a
Pokrenite Elasticsearch servis:
sudo systemctl start elasticsearch
I omogućite da se automatski pokreće pri svakom pokretanju sistema:
sudo systemctl enable elasticsearch
2. Provera statusa Elasticsearch-a
Proverite da li Elasticsearch radi ispravno:
sudo systemctl status elasticsearch
Izlaz bi trebao da sadrži:
Active: active (running)
Indeksiranje Podataka
Sada kada je Elasticsearch instaliran i konfigurisan, možete početi sa indeksiranjem podataka.
1. Kreiranje indeksa
Za kreiranje novog indeksa, pošaljite POST zahtev na Elasticsearch API:
curl -X POST "http://localhost:9200/my-index"
Ovo će kreirati novi indeks pod nazivom „my-index“.
2. Indeksiranje dokumenta
Sada možete indeksirati dokument u okviru novokreiranog indeksa:
curl -X POST "http://localhost:9200/my-index/_doc/1" -H "Content-Type: application/json" -d '{ "name": "John Doe", "age": 30 }'
Ovo će kreirati novi dokument sa poljima „name“ i „age“ u okviru indeksa „my-index“.
Pretraživanje i Analiza Podataka
Kada imate indeksirane podatke, možete početi sa njihovim pretraživanjem i analizom.
1. Izvršavanje pretrage
Za izvršavanje pretrage, pošaljite GET zahtev na Elasticsearch API sa upitom:
curl -X GET "http://localhost:9200/my-index/_search?q=name:John"
Ovo će vratiti rezultate pretrage za sve upite koji sadrže „John“ u polju „name“.
2. Analiza podataka
Elasticsearch nudi i funkcije za analizu. Za izvršavanje agregacije, pošaljite GET zahtev sa agregacijama:
curl -X GET "http://localhost:9200/my-index/_search?aggs=avg_age:avg(age)"
Ovo će vratiti prosečnu vrednost polja „age“ u okviru indeksa „my-index“.
Zaključak
Instaliranjem i konfiguracijom Elasticsearch-a na vašem Rocky Linux 8 serveru, dobijate moćan alat za pretraživanje i analizu podataka. Sa svojim skalabilnim i brzim performansama, Elasticsearch je odlično rešenje za različite primene koje zahtevaju visoku efikasnost u obradi i analizi podataka. Ovaj članak vam je pružio osnovno razumevanje neophodnih koraka za pokretanje i rad Elasticsearch-a na vašem sistemu, omogućavajući vam da počnete sa iskorišćavanjem njegovih prednosti.
Često Postavljana Pitanja
1. Da li je Elasticsearch besplatan za upotrebu?
Da, Elasticsearch je besplatan softver otvorenog koda.
2. Koje verzije Jave podržava Elasticsearch?
Elasticsearch podržava Java 8 i 11.
3. Kako deinstalirati Elasticsearch?
Za deinstalaciju Elasticsearch-a, koristite sledeće komande:
sudo yum remove elasticsearch
sudo rm -rf /etc/elasticsearch
4. Koji su minimalni hardverski zahtevi za Elasticsearch?
Za produkcijsko okruženje, preporučuje se minimum 2 jezgra procesora, 8 GB RAM-a i 50 GB slobodnog prostora na disku.
5. Kako optimizovati performanse Elasticsearch-a?
Za optimizaciju performansi, podesite Java heap memoriju, omogućite više niti i pravilno konfigurišite indekse.
6. Kako obezbediti Elasticsearch?
Omogućite CAUTHN za jednostavno testiranje i razvoj, ali za produkcijska okruženja koristite robustne mehanizme autentifikacije i autorizacije, kao što je Kerberos.
7. Kako migrirati podatke u Elasticsearch?
Elasticsearch pruža više metoda za migraciju podataka, uključujući Elasticsearch-Reindex i Elasticsearch-Head.
8. Kako se povezati na Elasticsearch iz druge aplikacije?
Možete koristiti Elasticsearch klijente (API-je) za različite programske jezike poput Java, Python, .NET, itd.