Како инсталирати и конфигурисати Elasticsearch на Rocky Linux 8

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.