GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Elasticsearch na CentOS 8 / RHEL 8

Elasticsearch je open-source vyhledávač založený na Apache Lucene, nabízí distribuovaný fulltextový vyhledávač v reálném čase s webovým rozhraním HTTP a dokumenty JSON bez schémat.

Elasticsearch je vyvinut v Javě. Open-source verze Elasticsearch je vydána pod licencí Apache 2.0 a komerční verze je vydána pod licencí Elastic. V současnosti je to nejpopulárnější podnikový vyhledávač po Apache Solr.

Tento příspěvek vám pomůže nainstalovat Elasticsearch na CentOS 8 / RHEL 8.

Předpoklady

Elasticsearch je vytvořen pomocí Javy a balíček obsahuje přibalenou verzi OpenJDK, což znamená, že pro instalaci Elasticsearch nemusíte Javu instalovat samostatně. Přiložený OpenJDK se nachází v adresáři JDK domovského adresáře Elasticsearch /usr/share/elasticsearch.

Nainstalujte Javu

Chcete-li používat vlastní verzi Javy, nainstalujte si LTS verzi Javy a nastavte proměnnou prostředí JAVA_HOME ve vašem systému.

ČTĚTE :Jak nainstalovat Javu na CentOS 8 / RHEL 8

Ověřte verzi Java nainstalovanou v systému.

java -version

Výstup:

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Nastavte JAVA_HOME pomocí níže uvedeného příkazu.

export JAVA_HOME=<JAVA_PATH>
Po instalaci Elasticsearch do vašeho systému nastavte JAVA_HOME v souboru /etc/sysconfig/elasticsearch, aby Elasticsearch používal vlastní verzi Java.

Nastavení úložiště Elasticsearch

Elastic nabízí předpřipravený binární (rpm) balíček pro RHEL a jeho deriváty. Stáhněte a nainstalujte veřejný podpisový klíč Elastic.

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

Verze zdarma

Tento balíček je zdarma k použití. Obsahuje open source, bezplatné a placené komerční funkce. Při instalaci balíčku obdržíte základní licenci. Můžete navštívit stránku předplatného, ​​kde najdete seznam všech funkcí zahrnutých v bezplatné a komerční verzi.

Můžete zahájit 30denní zkušební verzi a vyzkoušet všechny placené funkce. Na konci zkušební doby budou komerční funkce fungovat ve zhoršeném režimu. Můžete vrátit licenci na základní licenci, prodloužit zkušební verzi nebo zakoupit předplatné.

cat << EOF > /etc/yum.repos.d/elasticsearch.repo 
[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
EOF

Verze s otevřeným zdrojovým kódem

Tento balíček je zdarma k použití a obsahuje pouze funkce, které jsou dostupné pod licencí Apache 2.0.

cat << EOF > /etc/yum.repos.d/elasticsearch.repo 
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Nainstalujte Elasticsearch

Nainstalujte Elasticsearch (v7.x) pomocí následujícího příkazu.

Verze zdarma

yum install -y elasticsearch

Verze s otevřeným zdrojovým kódem

yum install -y elasticsearch-oss

Povolte automatické spouštění systému Elasticsearch během spouštění systému.

systemctl daemon-reload

systemctl enable elasticsearch

systemctl start elasticsearch

Jakmile spustíte službu Elasticsearch, počkejte alespoň minutu, než se plně rozběhne. Jinak se testování nezdaří.

Elastisearch by nyní měl naslouchat na portu 9200 pro zpracování požadavků HTTP. Pro získání odpovědi použijte curl.

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

Měli byste dostat odpověď jako níže.

{
  "name" : "centos8.itzgeek.local",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "s6PwCJnoS7e7Pb3QMzkINg",
  "version" : {
    "number" : "7.4.0",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
    "build_date" : "2019-09-27T08:36:48.569419Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Konfigurace elastického vyhledávání

Konfigurační soubory Elasticsearch se nacházejí v adresáři /etc/elasticsearch/. elasticsearch.yml je hlavní konfigurační soubor Elasticsearch a obsahuje výchozí nastavení pro běh vývojového clusteru. Protokoly Elasticsearch jsou uloženy v adresáři /var/log/elasticsearch.

Název clusteru

Nastavení cluster.name se používá k vyhledání a automatickému spojení uzlu s jinými uzly. Pokud má skupina uzlů Elasticsearch ve stejné síti stejný název clusteru, najdou se navzájem a vytvoří cluster.

Změňte výchozí název clusteru uzlu Elasticsearch, abyste se vyhnuli automatickému spojení s jinými uzly ve stejné síti. Ujistěte se, že používáte jedinečný název clusteru.

Upravte soubor elasticsearch.yml.

vi /etc/elasticsearch/elasticsearch.yml

Nahraďte els-cluster názvem svého clusteru Elasticsearch.

cluster.name: els-cluster

Název uzlu

Název node.name je jako název hostitele pro server Elasticsearch, dynamicky generovaný během spouštění služby. Název uzlu můžete nastavit aktualizací níže uvedeného řádku. Nahraďte els-cluster-node01 svým názvem uzlu Elasticsearch.

node.name: els-cluster-node01

Adresa pro poslech

Elasticsearch se ve výchozím nastavení váže na localhost (127.0.0.1) a naslouchá na portu číslo 9200 pro provoz HTTP. Pro komunikaci mezi uzly v rámci clusteru používá číslo portu 9300 – 9400.

Chcete-li vytvořit víceuzlový cluster Elasticsearch nebo přenést uzel Elasticsearch pro produkční použití, aby aplikace měly přístup k uzlu Elasticsearch, musíte nakonfigurovat Elasticsearch tak, aby naslouchal IP adrese systému.

### Listening on particular IPv4 ###

network.host: 192.168.0.10

NEBO

### Listen on All IP Address ###

network.host: 0.0.0.0

Musíte také aktualizovat níže uvedená nastavení pomocí vaší systémové IP adresy.

discovery.seed_hosts: ["192.168.0.10"]

Restartujte službu Elasticsearch.

systemctl restart elasticsearch

Jakmile službu Elasticsearch restartujete, počkejte alespoň minutu, než se Elasticsearch plně spustí.

Zkontrolujte, zda Elasticsearch naslouchá na portu 9200 na všech IP adresách nebo na konkrétní IP adrese pomocí příkazu netstat.

ČTĚTE: Příkaz netstat nebyl nalezen na CentOS 8 / RHEL 8

 netstat -antup | grep -i 9200

Výstup:

tcp6       0      0 :::9200                 :::*                    LISTEN      2143/java

Ověřte, že název uzlu i název clusteru byly správně nastaveny pomocí zvlnění.

curl -X GET 'http://192.168.0.10:9200'

Měli byste dostat odpověď jako níže.

{
  "name" : "els-cluster-node01",
  "cluster_name" : "els-cluster",
  "cluster_uuid" : "s6PwCJnoS7e7Pb3QMzkINg",
  "version" : {
    "number" : "7.4.0",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
    "build_date" : "2019-09-27T08:36:48.569419Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Práce s Elasticsearch

Pojďme přidat některá data do Elasticsearch. Příkaz curl můžete použít ke čtení, přidávání, odstraňování a aktualizaci dat do Elasticsearch přes port 9200 pomocí RESTful API.

Dokumenty jsou uloženy v následujícím formátu

Elasticsearch ⇒ Indexy ⇒ Typy ⇒ Dokumenty ⇒ Pole

Indexy: Množné číslo indexu, kde jsou uložena data Elasticsearch.

Typy: Obsahuje více dokumentů a je jako typ dat.

Dokumenty: Obsahuje datová pole.

Pole: Skutečná data.

Přidat data

Pomocí následujícího příkazu curl přidejte data do našeho Elasticsearch.

curl -XPUT 'http://localhost:9200/itzgeek/howtos/1' -H 'Content-Type: application/json' -d '
{ 
    "Title" : "Install Elasticsearch On RHEL 8", 
    "Date"  : "May 2019", 
    "Tag"   : "RHEL"
}'

Měli byste obdržet následující odpověď s „výsledkem“:„vytvořeno.“

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Kde,

itzgeek: Index clusteru Elasticsearch.

pokyny: Typ dokumentu

1: ID položky pod indexem howtos a itzgeek.

Číst data

K dotazu na data na Elasticsearch použijte následující příkaz.

curl -X GET 'http://localhost:9200/itzgeek/howtos/1'

Chcete-li získat formátovaný výstup, připojte k výše uvedenému příkazu ?pretty=true.

curl -X GET 'http://localhost:9200/itzgeek/howtos/1?pretty=true'

Výstup bude vypadat následovně.

{
  "_index" : "itzgeek",
  "_type" : "howtos",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "Title" : "Install Elasticsearch On RHEL 8",
    "Date" : "May 2019",
    "Tag" : "RHEL"
  }
}

Aktualizovat data

K aktualizaci dat použijte následující příkaz.

curl -XPUT 'http://localhost:9200/itzgeek/howtos/1' -H 'Content-Type: application/json' -d '
{ 
    "Title" : "Install Elasticsearch On RHEL 8", 
    "Date"  : "May 2019", 
    "Tag"   : "RHEL"
}'

V rejstříku, typu a dokumentu nedojde k žádné změně. Pole však budou mít upravená data.

Odpověď by měla vypadat následovně, obsahovat „_version“:2 a „result“:“updated“, což znamená, že dokument byl aktualizován.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}

Odebrat data

K odstranění dokumentu použijte následující příkaz.

curl -X DELETE 'http://localhost:9200/itzgeek/howtos/1'

Odpověď bude vypadat následovně. Pokud je dokument nalezen, dostanete „výsledek“:“vymazáno“.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":3,"result":"deleted","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1}

Pokud dokument není nalezen, dostanete „result“:“not_found“.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":4,"result":"not_found","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":3,"_primary_term":1}

Závěr

Doufám, že jste se naučili nainstalovat Elasticsearch na CentOS 8 / RHEL 8 a přidávat, číst, mazat a aktualizovat data v Elasticsearch. Můžete také nastavit víceuzlový cluster Elasticsearch pro zpracování velkého množství dat.


Cent OS
  1. Jak nainstalovat Oracle Java JDK 12 / 11 / 8 na CentOS 7 / RHEL 7

  2. Jak nainstalovat Elasticsearch na CentOS 8 / RHEL 8

  3. Jak nainstalovat Elasticsearch na CentOS/RHEL 8

  1. Jak nainstalovat Gradle na CentOS 8 / 7 &RHEL 8 / 7

  2. Jak nainstalovat Oracle Java 12 / 11 / 8 na CentOS 6 / RHEL 6

  3. Jak nainstalovat Graylog2 na CentOS 7 / RHEL 7

  1. Jak nainstalovat Java 11 &12 na CentOS 7

  2. Jak nainstalovat Java 8 &11 na Centos 8

  3. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8