Kako instalirati Elasticsearch na openSUSE Leap 15

Elasticsearch je vrlo skalabilan open-source stroj za pretraživanje i analizu cijelog teksta. Općenito je temeljni motor/tehnologija koja pokreće aplikacije sa složenim značajkama i zahtjevima pretraživanja. Softver podržava RESTful operacije koje vam omogućuju pohranjivanje, pretraživanje i analizu značajnih količina podataka brzo i gotovo u stvarnom vremenu. Elasticsearch je omiljen i popularan među sistemskim administratorima i programerima jer je moćna tražilica koja se temelji na biblioteci Lucene.

U sljedećem tutorialu naučit ćete kako instalirati Elastic Search na openSUSE Leap 15.

Preduvjeti

Ažurirajte operativni sustav

Ažurirajte svoj openSUSE operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo zypper refresh

Tutorial će koristiti sudo naredba i pod pretpostavkom da imate sudo status.

Za provjeru sudo statusa na svom računu:

sudo whoami

Primjer izlaza koji prikazuje sudo status:

[joshua@opensuse ~]$ sudo whoami
root

Da biste postavili postojeći ili novi sudo račun, posjetite naš vodič na dodavanje korisnika u Sudoers na openSUSE.

Za korištenje root račun, upotrijebite sljedeću naredbu s root lozinkom za prijavu.

su

Instalirajte CURL paket

Franjevački KOVRČA naredba je potrebna za neke dijelove ovog vodiča. Da biste instalirali ovaj paket, upišite sljedeću naredbu:

sudo zyper install curl

Instalirajte Java paket

Za uspješnu instalaciju i, što je još važnije, korištenje Elasticsearch, morate instalirati Java. Proces je relativno lak.

Upišite sljedeću naredbu da biste instalirali OpenJDK Paket:

sudo zypper install java-11-openjdk-devel
Oglas

Instalirajte Elasticsearch

Elasticsearch nije dostupan u standardno openSUSE spremište, pa ga morate instalirati iz Elasticsearch spremište.

Prije dodavanja spremišta, uvezite GPG ključ sa sljedećom naredbom:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Sljedeći korak je stvaranje Elasticsearch repo datoteke na sljedeći način:

sudo zypper ar https://artifacts.elastic.co/packages/7.x/yum elasticsearch

Sada instalirajte Elasticsearch pomoću sljedeće naredbe:

sudo zypper install elasticsearch

Primjer rezultata:

Kako instalirati Elasticsearch na openSUSE Leap 15

Tip "Y", a zatim pritisnite "ENTER TIPKA" za nastavak instalacije

Da biste omogućili da Elasticsearch bude omogućen prema zadanim postavkama, morat ćete instalirati insserv paket.

sudo zypper install insserv

Prema zadanim postavkama, usluga Elasticsearch je onemogućena pri pokretanju i nije aktivna. Da biste pokrenuli uslugu i omogućili je pri pokretanju sustava, upišite sljedeće (systemctl) naredba:

sudo systemctl enable elasticsearch.service --now

Primjer rezultata:

Synchronizing state of elasticsearch.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch

Provjerite radi li Elasticsearch ispravno pomoću naredba curl poslati HTTP zahtjev do port 9200 on localhost kako slijedi:

sudo curl http://localhost:9200?pretty

Primjer rezultata:

Kako instalirati Elasticsearch na openSUSE Leap 15

Kako konfigurirati Elasticsearch

Podaci Elasticsearch pohranjeni su na zadanom mjestu direktorija (/var/lib/elasticsearch). Za pregled ili uređivanje konfiguracijskih datoteka, možete ih pronaći na mjestu direktorija (/etc/elasticsearch), a opcije pokretanja java mogu se konfigurirati u (/etc/default/elasticsearch) konfiguracijska datoteka.

Zadane postavke prvenstveno su u redu za poslužitelje s jednim operacijskim sustavom dok Elasticsearch radi na localhost samo. Međutim, ako namjeravate postaviti klaster, morat ćete izmijeniti konfiguracijsku datoteku kako biste omogućili udaljene veze.

Postavljanje daljinskog pristupa (izborno)

Prema zadanim postavkama, Elasticsearch sluša samo localhost. Da biste to promijenili, otvorite konfiguracijsku datoteku na sljedeći način:

sudo nano /etc/elasticsearch/elasticsearch.yml

Pomaknite se do redak 56 i pronađite odjeljak Mreža i dekomentiraj (#) sljedeći redak i zamijenite ga internom privatnom IP adresom ili vanjskom IP adresom kako slijedi:

Kako instalirati Elasticsearch na openSUSE Leap 15

U primjeru smo dekomentirali (#) o (mreža.host) i promijenio je u internu privatnu IP adresu kao gore.

Iz sigurnosnih razloga, idealan je za određivanje adresa; međutim, ako imate više internih ili vanjskih IP adresa koje pogađaju poslužitelj, promijenite mrežno sučelje da sluša sve s unosom (0.0.0.0) kako slijedi:

Kako instalirati Elasticsearch na openSUSE Leap 15

Spremite konfiguracijsku datoteku (CTRL+O), zatim izađi (CLTR+X).

Morat ćete ponovno pokrenuti uslugu Elasticsearch sljedećom naredbom da bi promjene stupile na snagu:

sudo systemctl restart elasticsearch

Konfigurirajte Firewalld za Elasticsearch

Prema zadanim postavkama, za Elasticsearch nisu postavljena pravila, što može uzrokovati probleme u nastavku.

Prvo dodajte novu namjensku zonu za Elasticsearch firewalld pravilo:

sudo firewall-cmd --permanent --new-zone=elasticsearch

Zatim navedite dopuštene IP adrese kojima je dopušten pristup Memcachedu.

sudo firewall-cmd --permanent --zone=elasticsearch --add-source=1.2.3.4

Zamijenite 1.2.3.4 s IP-om adresu koja će biti dodana na popis dopuštenja.

Nakon što završite s dodavanjem IP adresa, otvorite port Memcached-a.

Na primjer, TCP priključak 11211.

sudo firewall-cmd --permanent --zone=elasticsearch --add-port=9200/tcp

Napomena, možete promijeniti zadani priključak u svojoj konfiguracijskoj datoteci ako promijenite gornje pravilo otvaranja porta vatrozida na novu vrijednost.

Nakon što pokrenete te naredbe, ponovno učitajte vatrozid kako biste implementirali nova pravila:

sudo firewall-cmd --reload

Primjer izlaza ako je uspješan:

success
Oglas

Kako koristiti Elasticsearch

Za korištenje Elasticsearch pomoću naredba curl je jednostavan proces. U nastavku su neke od najčešće korištenih:

Izbriši indeks

Ispod je indeks imenovan uzorci.

curl -X DELETE 'http://localhost:9200/samples'

Navedite sve indekse

curl -X GET 'http://localhost:9200/_cat/indices?v'

Navedite sve dokumente u indeksu

curl -X GET 'http://localhost:9200/sample/_search'

Upit pomoću parametara URL-a

Ovdje koristimo Lucene format upita za pisanje q=school:Harvard.

curl -X GET http://localhost:9200/samples/_search?q=school:Harvard

Upit s JSON-om aka Elasticsearch Query DSL

Možete postavljati upite pomoću parametara na URL-u. Ali možete koristiti i JSON, kao što je prikazano u sljedećem primjeru. JSON bi bio lakši za čitanje i otklanjanje pogrešaka kada imate složen upit od jednog golemog niza parametara URL-a.

curl -XGET --header 'Content-Type: application/json' http://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

Mapiranje indeksa popisa

Sva polja Elasticsearch su indeksi. Dakle, ovo navodi sva polja i njihove vrste u indeksu.

curl -X GET http://localhost:9200/samples

Dodaj podatke

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"			
}'

Ažuriranje dokumenta

Evo kako dodati polja u postojeći dokument. Prvo stvaramo novu. Zatim ga ažuriramo.

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2 -d '
{
    "school": "Clemson"
}'

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2/_update -d '{
"doc" : {
               "students": 50000}
}'

Sigurnosni indeks

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/_reindex -d '{
  "source": {
    "index": "samples"
  },
  "dest": {
    "index": "samples_backup"
  }
}'

Skupno učitavanje podataka u JSON formatu

export pwd="elastic:"

curl --user $pwd  -H 'Content-Type: application/x-ndjson' -XPOST 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty' --data-binary @<file>

Prikaži zdravlje klastera

curl --user $pwd  -H 'Content-Type: application/json' -XGET https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty

Agregacija i Bucket Agregacija

Za web-poslužitelj Nginx, ovo proizvodi broj web pogodaka prema gradu korisnika:

curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
             "cityName": {
                    "terms": {
                     "field": "geoip.city_name.keyword",
                                "size": 50

        }
   }
  }
}
'

Time se to proširuje na broj kodova odgovora proizvoda za grad u dnevniku Nginx web poslužitelja

curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
          "city": {
                "terms": {
                        "field": "geoip.city_name.keyword"
                },
        "aggs": {
          "responses": {
                "terms": {
                     "field": "response"
                 }
           }
         }
      },
      "responses": {
                "terms": {
                     "field": "response"
                 }
        }
   }
}'

Korištenje ElasticSearch s osnovnom provjerom autentičnosti

Ako ste uključili sigurnost s ElasticSearch-om, tada svakoj naredbi curl trebate unijeti korisnika i lozinku kao što je prikazano u nastavku:

curl -X GET 'http://localhost:9200/_cat/indices?v' -u elastic:(password)

Lijepi ispis

Dodajte ?pretty=true u bilo koje pretraživanje da biste lijepo ispisali JSON. Kao ovo:

 curl -X GET 'http://localhost:9200/(index)/_search'?pretty=true

Za upit i vraćanje samo određenih polja

Da biste vratili samo određena polja, stavite ih u niz _source:

GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "_source": ["suricata.eve.timestamp","source.geo.region_name","event.created"],
    "query":      {
        "match" : { "source.geo.country_iso_code": "GR" }
    }
}

Za upit po datumu

Kada je polje tipa datum, možete koristiti matematiku datuma, na sljedeći način:

GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "query": {
        "range" : {
            "event.created": {
                "gte" : "now-7d/d"
            }
        }
}
}

Kako ukloniti (deinstalirati) Elasticsearch

Ako više ne trebate Elasticsearch, softver možete ukloniti sljedećom naredbom:

sudo zypper remove elasticsearch

Primjer rezultata:

Kako instalirati Elasticsearch na openSUSE Leap 15

Tip "Y", a zatim pritisnite "ENTER TIPKA" za nastavak uklanjanja Elasticsearch-a.

Oglas

Komentari i zaključak

Naučili ste kako instalirati Elasticsearch na openSUSE iz službenog spremišta Elasticsearcha i konfigurirati osnove u vodiču. Općenito, ElasticSearch ima mnogo popularnih značajki, neke su spomenute na početku vodiča, ali druge uključuju omogućavanje korisnicima da pretražuju različita polja pomoću jednog upita. ElasticSearch pruža izvanrednu razinu dijeljenja, što znači horizontalnu skalabilnost, što poboljšava performanse čak i uz povećanje opterećenja.

Za daljnje čitanje posjetite službeni dokumentacijsku stranicu.

Pretplati me
Obavijesti o
0 Komentari
Umetne povratne informacije
Pogledajte sve komentare
0
Volio bih vaše misli, molim vas komentirajte.x