Elasticsearch je open source vyhledávací server na podnikové úrovni založený na Apache Lucene, nabízí distribuované vyhledávání a analýzy v reálném čase s webovým rozhraním RESTful a dokumenty JSON bez schémat. Elasticsearch je vyvinut v jazyce Java a je vydán pod licencí Apache. V současné době je na druhém místě v nejoblíbenějším podnikovém vyhledávači za Apache Solr.
Tato příručka vám pomůže nainstalovat Elasticsearch naCentOS 7 /Ubuntu 16.04 / Linux Mint 18 .
Předpoklady
Jak již bylo řečeno, Elasticsearch je vyvinut v Javě. Ujistěte se, že máte v systému nainstalovanou nejnovější verzi JDK. Postupujte podle níže uvedených výukových programů a nainstalujte Oracle JDK na Linux.
ČTĚTE :Jak nainstalovat Java JDK 8 na Ubuntu 16.04 / Linux Mint 18
ČTĚTE :Jak nainstalovat Java SDK 1.8 na RHEL 7 / CentOS 7
Ověřte verzi JDK nainstalovanou v systému.
verze Java
Výstup:
openjdk verze "1.8.0_131" OpenJDK Runtime Environment (sestavení 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)OpenJDK 64-Bit Server VM (sestavení 25.131-b) premixovaný režim)Nainstalujte Elasticsearch
Elasticsearch lze stáhnout přímo z oficiálních stránek, navíc nabízí předpřipravený binární balíček pro RHEL a deriváty Debianu.
Stáhněte a nainstalujte veřejný podpisový klíč.
### Debian 9 / Ubuntu 16.04 a Linux Mint 18 ### $ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -### RHEL 7 / CentOS 7 ### # rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchPřidejte a povolte úložiště Elasticsearch.
### Debian 9 / Ubuntu 16.04 a Linux Mint 18 ### $ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list### RHEL 7 / CentOS 7 ### # cat <> /etc/yum.repos.d/elasticsearch.repo[elasticsearch-5.x]name=Elasticsearch úložiště pro 5.x packagesbaseurl=https://artifacts.elastic.co/packages/5. x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-mdEOF Nainstalujte Elasticsearch pomocí následujícího příkazu.
### Debian 9 / Ubuntu 16.04 a Linux Mint 18 ### $ sudo apt-get aktualizace $ sudo apt-get install -y elasticsearch### RHEL 7 / CentOS 7 ### # yum -y nainstalujte elasticsearchNakonfigurujte Elasticsearch na automatické spouštění během startu systému.
### Debian 9 / Ubuntu 16.04 a Linux Mint 18 ### $ sudo systemctl povolit elasticsearch$ sudo systemctl spustit elasticsearch### RHEL 7 / CentOS 7 ### # systemctl daemon-reload# systemctl povolit elasticsearch# systemctl spustit elasticsearchKonfigurace elastického vyhledávání
Konfigurační soubory Elasticsearch lze nalézt v adresáři /etc/elasticsearch/; viděli jste v něm pouze dva soubory, elasticsearch.yml a logging.yml.
logging.yml spravuje protokolování elasticsearch a soubory protokolů jsou uloženy v adresáři /var/log/elasticsearch.
elasticsearch.yml je hlavní konfigurační soubor elasticsearch, obsahuje výchozí nastavení pro spuštění produkčního clusteru.
Elasticsearch se ve výchozím nastavení váže na všechny síťové karty (0.0.0.0) a naslouchá na portu č. 9200 – 9300 pro provoz HTTP a na 9300 – 9400 pro komunikaci mezi interním uzlem, rozsahy znamená, že pokud je port zaneprázdněn, bude automaticky vyzkoušet další port.
Upravte soubor elasticsearch.yml.
# vi /etc/elasticsearch/elasticsearch.ymlAby Elasticsearch naslouchal na konkrétní IP, umístěte IP adresu na následující syntaxi. Chcete-li chránit elasticsearch před veřejným přístupem, můžete jej nastavit tak, aby poslouchal na localhost.
### Poslech na konkrétním IPv4 ### network.bind_host:192.168.0.1### Zakázání veřejného přístupu ### network.bind_host:127.0.0.1Restartujte službu Elasticsearch.
# restart služby elasticsearchJakmile restartujete, počkejte alespoň minutu, než se Elasticsearch plně spustí. Jinak se testování nezdaří. Elastisearch by nyní měl naslouchat na 9200 pro zpracování HTTP požadavku; k získání odpovědi použijeme CURL.
# curl -X GET 'http://localhost:9200'Měli byste dostat odpověď jako níže.
{ "name" :"gf5QYAn", "cluster_name" :"elasticsearch", "cluster_uuid" :"S6gZNkMERpSr-MGXqEFUJw", "version" :{ "number" :"5.5.2", "build_hash" :" b2f0c09", "build_date" :"2017-08-14T12:33:14.154Z", "build_snapshot" :false, "lucene_version" :"6.6.0" }, "tagline" :"Víte, pro vyhledávání"}Alternativně můžete k dotazu na Elasticsearch použít prohlížeč. Měli byste vidět totéž, co jste viděli při použití curl.
Elasticsearch cluster
Název clusteru
Nastavení cluster.name se používá k objevování a automatickému připojování k dalším uzlům. Pokud má skupina serverů Elasticsearch ve stejné síti stejný název clusteru, najdou se navzájem. Ujistěte se, že jste změnili výchozí název clusteru serveru Elasticsearch, abyste se vyhnuli automatickému připojování k jiným serverům ve stejné síti, která není pod vaší kontrolou.
Pokud provozujete více clusterů Elasticsearch ve stejné síti, ujistěte se, že používáte jedinečné názvy clusterů.
cluster.name:Název uzlu
Název uzlu je jako název hostitele pro server Elasticsearch, dynamicky generovaný během spouštění služby. Můžete mu nastavit svůj vlastní název nastavením následující syntaxe.
node.name:"" Nezapomeňte restartovat službu Elasticsearch.
# restart služby elasticsearchPoužití Elasticsearch
Pojďme přidat některá data do Elasticsearch. Můžeme použít curl pro komunikaci s Elasticsearch přes port 9200 pomocí RESTful API. S curl můžeme číst, přidávat, mazat a aktualizovat data pomocí 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ů, je to jako typ dat.
Dokumenty =Obsahuje datová pole.
Pole =Aktuální podrobné údaje.
Přidat
Pomocí následujícího příkazu curl přidejte data do našeho Elasticsearch.
# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{"Title" :"Installing Elasticsearch","Date" : "Březen 2015","Tag" : " Ubuntu,CentOS,LinuxMint"}'Měli byste obdržet následující odpověď.
{"_index":"itzgeek","_type":"howtos","_id":"1","_version":1,"created":true}Kde
„itzgeek“ je index clusteru Elasticsearch.
„jak na to“ je typ dokumentu
„1“ je id položky pod indexem howtos a itzgeek.
Přečíst
K dotazu na data na Elasticsearch můžete použít následující příkaz.
# curl -X GET 'http://localhost:9200/itzgeek/howtos/1'Chcete-li získat formátovaný výstup, připojte ?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,"found" :true,"_source":{"Title" :" Instalace Elasticsearch","Datum" : "Březen 2015","Tag" : "Ubuntu,CentOS,LinuxMint"}}Aktualizovat
Chcete-li aktualizovat celý dokument, použijte následující příkaz POST. V rejstříku, typu a dokumentu nedojde k žádné změně; pole budou mít upravená data.
# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{"Title" :"Installing LogStash","Date" : "Březen 2015","Tag" : " Ubuntu,CentOS,LinuxMint"}'Odpověď by měla vypadat následovně, měla by obsahovat version:2 a vytvořeno:false; znamená, že dokument byl aktualizován.
{"_index":"itzgeek","_type":"howtos","_id":"1","_version":2,"created":false}Odstranit
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, zobrazí se found:true a zvýšená verze .
{"found":true,"_index":"itzgeek","_type":"howtos","_id":"1","_version":3}Pokud dokument není nalezen, zobrazí se found:false a zvýšená verze .
{"found":false,"_index":"itzgeek","_type":"howtos","_id":"1","_version":4}To je vše!, úspěšně jste nainstalovali a nakonfigurovali Elasticsearch na Ubuntu 14.10 / RHEL 7 / Linux Mint 17.
Odkazy:
Elasticsearch =elastisearch.org
SetupGuide =Průvodce
Jak nainstalovat Graylog2 na CentOS 7 / RHEL 7 – pomocí zdroje Jak nainstalovat Apache Hadoop na CentOS 7, Ubuntu 18.04 a Debian 9Cent OS