Ustaw instancję Elasticsearch za pomocą kontenerów Docker

Ustaw Instancje Elasticsearch Za Pomoca Kontenerow Docker



Elasticsearch to rozproszony, bezpłatny i otwarty silnik wyszukiwania i analizy wszystkich typów danych, w tym tekstowych, liczbowych, geoprzestrzennych, ustrukturyzowanych i nieustrukturyzowanych.

Elasticsearch jest zbudowany na Apache Lucene i został wydany po raz pierwszy w 2010 roku. Elasticsearch, znany z prostych interfejsów API REST, rozproszonego charakteru, szybkości i skalowalności, jest centralnym składnikiem Elastic Stack, zestawu bezpłatnych i otwartych narzędzi do pozyskiwania i wzbogacania danych , przechowywanie, analiza i wizualizacja.

W tym samouczku szybko omówimy proces konfigurowania instancji Elasticsearch przy użyciu kontenerów Docker.







Wymagania:

Aby uruchomić polecenia i kroki opisane w tym poście, upewnij się, że masz następujące elementy:



  1. Zainstalowany silnik Dockera
  2. Zainstalowano Docker Compose
  3. Wystarczające uprawnienia do uruchamiania kontenerów Docker

Zdefiniuj plik tworzenia Dockera

Pierwszym krokiem jest zdefiniowanie konfiguracji Docker Compose w celu uruchomienia kontenera Docker. Zacznij od utworzenia katalogu do przechowywania pliku konfiguracyjnego:



$ mkdir elastyczny
$ płyta CD elastyczny

Utwórz plik „docker-compose.yml”, aby uruchomić klaster Elasticsearch, jak pokazano w poniższej przykładowej konfiguracji:





wersja: „3”
usługi:
elastyczne wyszukiwanie01:
obraz: docker.elastic.co / elastyczne wyszukiwanie / elastyczne wyszukiwanie:8.9.2
nazwa_kontenera: Elasticsearch01
porty:
- 9200 : 9200
- 9300 : 9300
środowisko:
Discover.type: jednowęzłowy
sieci:
- elastyczny
kibana01:
obraz: docker.elastic.co / kibana / kibana: 8.9.2
nazwa_kontenera: kibana01
porty:
- 5601 : 5601
środowisko:
ELASTICSEARCH_URL: http: // elastyczne wyszukiwanie01: 9200
ELASTICSEARCH_HOSTS: http: // elastyczne wyszukiwanie01: 9200
sieci:
- elastyczny
sieci:
elastyczny:
kierowca: most

W tym przykładowym pliku definiujemy dwie usługi. Pierwsza konfiguruje usługę Elasticsearch, a druga instancję Kibana. Kroki są opisane poniżej:

  • Użyj obrazu Elasticsearch 8.9.2.
  • Zamapuj porty 9200 i 9300 z kontenera na hosta.
  • Ustaw zmienną środowiskową „discovery.type tosingle-node” dla Elasticsearch.
  • Połącz się z niestandardową siecią zwaną „elastyczną”.

W serwisie Kibana wykonujemy następujące czynności:



  • Użyj obrazu Kibana 8.9.2.
  • Zamapuj port 5601 z kontenera na hosta.
  • Określ adresy URL połączenia Elasticsearch za pomocą zmiennych środowiskowych ELASTICSEARCH_URL i ELASTICSEARCH_HOSTS.
  • Połącz się z siecią elastyczną.

Na koniec konfigurujemy niestandardową sieć zwaną „elastyczną” za pomocą sterownika mostu, który umożliwia komunikację kontenerów Elasticsearch i Kibana.

Uruchom kontener

Po zdefiniowaniu usług możemy kontynuować i uruchamiać kontenery za pomocą polecenia Docker Compose w następujący sposób:

$ doker komponuje -D

Uzyskaj dostęp do Elasticsearch i Kibana

Po uruchomieniu kontenerów możemy kontynuować i uzyskać dostęp do ich instancji pod następującymi adresami:

http: // Lokalny Gospodarz: 9200 - > Elastyczne wyszukiwanie

http: // Lokalny Gospodarz: 5601 - > Kibana

Uruchom Elasticsearch za pomocą polecenia „Uruchom” okna Docker

Możesz także szybko uruchomić Elasticsearch za pomocą polecenia „run” z okna dokowanego bez konieczności definiowania niestandardowej konfiguracji.

Zacznij od utworzenia sieci Docker, która ma zostać podłączona do instancji Elasticsearch:

$ sieć dokowana tworzy łosia

Po utworzeniu uruchom następującą komendę, aby utworzyć instancję Elasticsearch i dołączyć ją do utworzonej sieci:

$ uruchomienie dokera -D --nazwa elastyczne wyszukiwanie --internet jeleń kanadyjski -P 9200 : 9200 -P 9300 : 9300 -To jest „discovery.type=pojedynczy węzeł” elastyczne wyszukiwanie: tag

Upraszcza to proces tworzenia niestandardowego pliku „docker-compose” i szybkiego uruchamiania instancji Elasticsearch.

Wniosek

W tym artykule omówiono podstawowe kroki definiowania i uruchamiania instancji Elasticsearch i Kibana przy użyciu kontenerów Docker.