GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 18.04

Elasticsearch je bezplatný a open source vyhledávač založený na Apache Lucene a vybavený funkcí Full Text a podporou distribuovaných architektur. Jedná se o dlouhodobě zavedené řešení v oblasti analýzy dat v reálném čase.

V tomto tutoriálu najdete všechny potřebné kroky k vytvoření a konfiguraci serveru Elasticsearch na Linuxu Ubuntu 18.04.

Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.

Instalace Java

Než budete pokračovat v instalaci Elasticsearch, nainstalujte Java Development Kit. Chcete-li tak učinit, postupujte podle našeho průvodce, jak nainstalovat Javu na Ubuntu 18.04. V případě, že je JDK již ve vašem systému nainstalován, tento krok přeskočte.

Instalace Elasticsearch

Instalační balíček lze stáhnout přímo z webu Elastic:

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-amd64.deb

Po dokončení stahování pokračujte instalací balíčku:

$ sudo dpkg -i elasticsearch-7.3.2-amd64.deb

Potom pokračujte instalací a spuštěním služby prostřednictvím:

$ sudo systemctl enable elasticsearch.service
$ sudo systemctl start elasticsearch.service

Konfigurace brány firewall

V případě brány firewall v systému může být nutné povolit provoz do služby Elasticsearch povolením příslušného portu.

Při použití brány firewall UFW zadejte tento příkaz pro odemknutí výchozího portu Elasticsearch:

$ sudo ufw allow 9200

V tomto okamžiku brána firewall povolí připojení na portu 9200.

Kontrola stavu služby

Ověřte, zda je služba spuštěna, a zkontrolujte porty TCP, které aktuálně naslouchají, spuštěním:

$ netstat -a -o -n | grep LISTEN

Potom naslouchací porty 9200 a 9300, jak by měly být vidět, následovně:

tcp        0 0 127.0.0.53:53           0.0.0.0:* LISTEN   off (0.00/0/0)

tcp        0 0 0.0.0.0:22              0.0.0.0:* LISTEN   off (0.00/0/0)

tcp6       0 0 127.0.0.1:9200          :::* LISTEN   off (0.00/0/0)

tcp6       0 0 ::1:9200                :::* LISTEN   off (0.00/0/0)

tcp6       0 0 127.0.0.1:9300          :::* LISTEN   off (0.00/0/0)

tcp6       0 0 ::1:9300                :::* LISTEN   off (0.00/0/0)

Použití Elasticsearch

Nyní, když je služba spuštěna, použijte testy zadáním dat a kontrolou, zda byla později nalezena.

N.B. Pokud používáte vzdálený server, nahraďte localhost IP adresou vašeho serveru v příkazech uvedených níže.

V tomto příkladu zadejte 3 komerční produkty:

$ curl -POST 'http://localhost:9200/products/1' -curl -H 'Content-Type: application/json' -d '

{

    "name": "Coffe Machine 1",

    "uuid": "00000010"

}'

Provedením výše uvedeného volání bude do indexu "products" vložen nový dokument s atributem "name" odpovídajícím "Coffe Machine 1" a s identifikátorem "uuid":

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

Elasticsearch odpoví, jak je uvedeno výše, zadáním ID vloženého produktu a dalších údajů v přehledech.

Poté pokračujte vložením 2 dalších produktů:

$ curl -POST 'http://localhost:9200/index/products' -curl -H 'Content-Type: application/json' -d '

{

    "name": "White Desk",

    "uuid": "WD000010"

}'
                $ curl -POST 'http://localhost:9200/index/products' -curl -H 'Content-Type: application/json' -d '

{

    "name": "Black Desk",

    "uuid": "WD000011"

}'

Po dokončení můžete pokračovat provedením prvního vyhledávání, přičemž jako parametr vyhledávání uvedete „Stůl“:

$ curl -X GET "http://localhost:9200/index/_search?q=Desk*&pretty"

Jak můžete vidět, byly získány 2 výsledky, včetně dvou výše vložených ploch:

{

    ...

    "hits" : [

      {

        ….

        "_source" : {

          "name" : "White Desk",

          "uuid" : "WD000010"

        }

      },

      {

        ...

        "_score" : 1.0,

        "_source" : {

          "name" : "Black Desk",

          "uuid" : "WD000011"

        }

      }

    ]

  }

}

Konfigurace Elastisearch

Všechny konfigurační soubory Elasticsearch jsou v adresáři /etc/elasticsearch. Nejdůležitějším souborem je elasticsearch.yml, který umožňuje upravovat základní provozní parametry systému, jako jsou informace o clusteru, parametry připojení TCP/IP nebo složky, kam se mají data ukládat.

Všechny přítomné konfigurační soubory používají formát YAML, takže při úpravách těchto souborů věnujte pozornost odsazení.

Zlepšení zabezpečení

Jednou z prvních věcí, které je třeba pro zvýšení bezpečnosti služby udělat, je omezit příchozí připojení a povolit pouze ta místní. Tímto způsobem může službu používat pouze vaše aplikace na serveru.

Chcete-li upravit poslechovou kartu, změňte soubor /etc/elasticsearch/elasticsearch.yml a odkomentujte a upravte následující řádek:

…

network.host: 127.0.0.1

...

Uložte soubor a restartujte službu, aby se změny projevily:

$ sudo systemctl restart elasticsearch.service

Počkejte několik minut a ověřte, že služba naslouchá pouze na místním rozhraní spuštěním:

$ netstat -a -o -n | grep LISTEN

Aby služba zůstala dostupná i pro externí použití, je vždy možná změna naslouchacího portu, aby se skryla přítomnost Elasticsearch.

Upravte hlavní konfigurační soubor /etc/elasticsearch/elasticsearch.yml:

…

#

# Set the bind address to a specific IP (IPv4 or IPv6):

#

network.host: 0.0.0.0

#

# Set a custom port for HTTP:

#

http.port: 2900

...

Poznámka:Místo dveří 2900 lze vložit jakékoli jiné dveře.

Po uložení souboru restartujte službu:

$ sudo systemctl restart elasticsearch.service

Chcete-li zkontrolovat stav služby, po použití změn vždy použijte netstat:

$ netstat -a -o -n | grep LISTEN

Linux
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu?

  1. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04