GNU/Linux >> Znalost Linux >  >> AlmaLinux

Jak nainstalovat Elasticsearch na AlmaLinux 8

Elasticsearch je vysoce škálovatelný open source fulltextový vyhledávač a analytický nástroj . Obecně je to základní motor/technologie, která pohání aplikace s komplexními vyhledávacími funkcemi a požadavky. Software podporuje operace RESTful, které vám umožňují ukládat, vyhledávat a analyzovat významné objemy dat rychle a téměř v reálném čase. Elasticsearch je mezi systémovými administrátory a vývojáři velmi oblíbený a oblíbený, protože je to mocný vyhledávač založený na knihovně Lucene.

V následujícím tutoriálu se dozvíte, jak nainstalovat Elastic Search na AlmaLinux 8 .

Předpoklady

  • Doporučený operační systém: AlmaLinux 8.
  • Uživatelský účet: Uživatelský účet s právy sudo nebo přístup root (příkaz su) .

Aktualizace operačního systému

Aktualizujte svůj AlmaLinux operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:

sudo dnf upgrade --refresh -y

Výukový program bude používatpříkaz sudo a za předpokladu, že máte status sudo .

Chcete-li ověřit stav sudo na vašem účtu:

sudo whoami

Ukázkový výstup zobrazující stav sudo:

[joshua@localhost ~]$ sudo whoami
root

Chcete-li nastavit stávající nebo nový účet sudo, navštivte náš návod Jak přidat uživatele do Sudoers na AlmaLinux .

Chcete-li použít rootový účet , použijte k přihlášení následující příkaz s heslem uživatele root.

su

Nainstalujte balíček CURL

CURL Pro některé části této příručky je vyžadován příkaz. Chcete-li nainstalovat tento balíček, zadejte následující příkaz:

sudo dnf install curl -y

Nainstalujte balíček Java

Chcete-li úspěšně nainstalovat, a co je důležitější, použijte Elasticsearch , je třeba nainstalovat Java . Tento proces je poměrně snadný.

Chcete-li nainstalovat OpenJDK , zadejte následující příkaz balíček:

sudo dnf install java-11-openjdk-devel

Příklady závislostí, které budou nainstalovány:

Zadejte „Y“, poté stiskněte klávesu ENTER pokračujte v instalaci.

Potvrďte, že Java byla úspěšně nainstalována pomocí následujícího příkazu:

java -version

Příklad výstupu:

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

Nainstalujte Elasticsearch

Elasticsearch není k dispozici ve standardním streamu aplikací AlmaLinux 8 , takže jej musíte nainstalovat z úložiště Elasticsearch RPM .

Před přidáním úložiště importujte klíč GPG pomocí následujícího příkazu:

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

Dalším krokem je vytvoření repo souboru Elasticsearch následovně:

sudo nano /etc/yum.repos.d/elasticsearch.repo

Jakmile jste uvnitř souboru, přidejte následující řádky:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Chcete-li uložit (CTRL+O), poté ukončete (CTRL+X) .

Nyní nainstalujte Elasticsearch pomocí následujícího příkazu:

sudo dnf install elasticsearch

Příklad výstupu:

Zadejte Y a poté stiskněte klávesu ENTER pokračujte v instalaci

Ve výchozím nastavení je služba Elasticsearch při spouštění zakázána a není aktivní. Chcete-li službu spustit a povolit při spouštění systému, zadejte následující (systemctl) příkaz:

sudo systemctl enable elasticsearch.service --now

Příklad výstupu:

Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch
Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /usr/lib/systemd/system/elasticsearch.service.

Ověřte, že Elasticsearch běží správně pomocí příkazu curl odeslat požadavek HTTP na port 9200 na localhost takto:

curl -X GET "localhost:9200/"

Příklad výstupu:

Chcete-li zobrazit systémovou zprávu, kterou Elasticsearch přihlásí do vašeho systému, zadejte následující příkaz:

sudo journalctl -u elasticsearch

Příklad protokolu výstupu:

-- Logs begin at Sat 2021-08-21 01:54:10 EDT, end at Sat 2021-08-21 02:11:00 EDT. --
Aug 21 02:09:17 localhost.localdomain systemd[1]: Starting Elasticsearch...
Aug 21 02:09:43 localhost.localdomain systemd[1]: Started Elasticsearch.

Jak nakonfigurovat Elasticsearch

Data Elasticsearch jsou uložena ve výchozím umístění adresáře (/var/lib/elasticsearch) . Chcete-li zobrazit nebo upravit konfigurační soubory, najdete je v umístění adresáře (/etc/elasticsearch) a možnosti spouštění jazyka Java lze nakonfigurovat v (/etc/default/elasticsearch) konfigurační soubor.

Výchozí nastavení je vhodné především pro jednotlivé operační servery, protože Elasticsearch běží na localhost pouze. Pokud se však chystáte nastavit cluster, budete muset upravit konfigurační soubor tak, aby umožňoval vzdálená připojení.

Nastavení vzdáleného přístupu (volitelné)

Ve výchozím nastavení Elasticsearch naslouchá pouze localhost. Chcete-li to změnit, otevřete konfigurační soubor následovně:

sudo nano /etc/elasticsearch/elasticsearch.yml

Přejděte dolů na řádek 56 a najděte sekci Síť a zrušte komentář (#) následující řádek a nahraďte jej adresou Internal Private IP nebo External IP takto:

V příkladu jsme zrušili komentář (#) (network.host) a změnil ji na interní soukromou IP adresu, jak je uvedeno výše.

Z bezpečnostních důvodů je ideální pro specifikaci adres; pokud však máte na server více interních nebo externích IP adres, změňte síťové rozhraní tak, aby naslouchalo všem zadáním (0.0.0.0) takto:

Uložte konfigurační soubor (CTRL+O), poté ukončete (CLTR+X) .

Aby se změny projevily, budete muset restartovat službu Elasticsearch pomocí následujícího příkazu:

sudo systemctl restart elasticsearch

Jak používat Elasticsearch

Chcete-li použít Elasticsearch pomocí příkazu curl je přímočarý proces. Níže jsou uvedeny některé z nejčastěji používaných:

Smazat index

Pod indexem je název vzorky .

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

Seznam všech indexů

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

Seznam všech dokumentů v indexu

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

Dotaz pomocí parametrů adresy URL

Zde používáme formát dotazu Lucene k zápisu q=school:Harvard.

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

Dotaz pomocí JSON alias Elasticsearch Query DSL

Můžete se dotazovat pomocí parametrů na adrese URL. Ale můžete také použít JSON, jak ukazuje následující příklad. JSON by bylo snazší číst a ladit, když máte složitý dotaz než jeden obrovský řetězec parametrů URL.

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

Vypsat mapování indexů

Všechna pole Elasticsearch jsou indexy. Toto uvádí seznam všech polí a jejich typů v indexu.

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

Přidat data

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

Aktualizovat dokument

Zde je návod, jak přidat pole do existujícího dokumentu. Nejprve vytvoříme nový. Poté jej aktualizujeme.

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}
}'

Index zálohy

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

Hromadné načítání dat ve formátu JSON

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>

Zobrazit stav clusteru

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

Agregace a agregace segmentů

Pro webový server Nginx to vytváří počty návštěv webu podle města uživatele:

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

        }
   }
  }
}
'

Tím se to rozšiřuje na počet kódů odezvy produktu města v protokolu webového serveru Nginx

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"
                 }
        }
   }
}'

Použití ElasticSearch se základním ověřováním

Pokud jste zapnuli zabezpečení pomocí ElasticSearch, musíte ke každému příkazu curl zadat uživatele a heslo, jak je uvedeno níže:

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

Krásný tisk

Chcete-li JSON pěkně vytisknout, přidejte k libovolnému vyhledávání ?pretty=true. Takhle:

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

Pro dotaz a vrácení pouze určitých polí

Chcete-li vrátit pouze určitá pole, vložte je do pole _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" }
    }
}

Na dotaz podle data

Pokud je pole typu datum, můžete použít matematiku data, například takto:

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

Jak odebrat (odinstalovat) Elasticsearch

Pokud již Elasticsearch nepotřebujete, můžete software odebrat pomocí následujícího příkazu:

sudo dnf autoremove elasticsearch

Příklad výstupu:

Zadejte Y a poté stiskněte klávesu ENTER pokračovat v odstraňování Elasticsearch.


AlmaLinux
  1. Jak nainstalovat Elasticsearch na Debian 9

  2. Jak nainstalovat MongoDB na AlmaLinux 8

  3. Jak nainstalovat Lighttpd na AlmaLinux 8

  1. Jak nainstalovat PrestaShop na Almalinux 8

  2. Jak nainstalovat Nginx na AlmaLinux 8

  3. Jak nainstalovat Python 3.10 na AlmaLinux 8

  1. Jak nainstalovat MariaDB 10.6 na AlmaLinux 8

  2. Jak nainstalovat PHP 8.0 na AlmaLinux 8

  3. Jak nainstalovat Ntopng na AlmaLinux 8