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:
- Zainstalowany silnik Dockera
- Zainstalowano Docker Compose
- 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 wyszukiwaniehttp: // 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 łosiaPo 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: tagUpraszcza 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.