Задайте екземпляр на Elasticsearch с помощта на Docker контейнери

Zadajte Ekzemplar Na Elasticsearch S Pomosta Na Docker Kontejneri



Elasticsearch е разпределена, безплатна и отворена машина за търсене и анализ за всички видове данни, включително текстови, числени, геопространствени, структурирани и неструктурирани.

Elasticsearch е изграден върху Apache Lucene и беше пуснат за първи път през 2010 г. Известен със своите прости REST API, разпределен характер, скорост и мащабируемост, Elasticsearch е централният компонент на Elastic Stack, набор от безплатни и отворени инструменти за поглъщане, обогатяване на данни , съхранение, анализ и визуализация.

В този урок бързо ще прегледаме процеса на настройка на екземпляр на Elasticsearch с помощта на контейнерите на Docker.







Изисквания:

За да изпълните командите и стъпките, предоставени в тази публикация, се уверете, че имате следното:



  1. Инсталиран Docker Engine
  2. Инсталиран Docker Compose
  3. Достатъчни разрешения за стартиране на Docker контейнерите

Дефинирайте файла за съставяне на Docker

Първата стъпка е дефинирането на конфигурацията на Docker Compose за стартиране на Docker контейнера. Започнете със създаване на директория за съхранение на конфигурационния файл:



$ mkdir еластична
$ cd еластична

Създайте файл „docker-compose.yml“, за да стартирате клъстера Elasticsearch, както е показано в следната примерна конфигурация:





версия: '3'
услуги:
elasticsearch01:
изображение: docker.elastic.co / elasticsearch / elasticsearch:8.9.2
име на контейнер: elasticsearch01
портове:
- 9200 : 9200
- 9300 : 9300
заобикаляща среда:
откритие.тип: едновъзлов
мрежи:
- еластична
kibana01:
изображение: docker.elastic.co / кибана / кибана: 8.9.2
име на контейнер: kibana01
портове:
- 5601 : 5601
заобикаляща среда:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
мрежи:
- еластична
мрежи:
еластична:
шофьор: мост

В този примерен файл ние дефинираме две услуги. Първият настройва услугата Elasticsearch, а другият настройва инстанцията Kibana. Стъпките са описани по-долу:

  • Използвайте изображението Elasticsearch 8.9.2.
  • Картирайте портовете 9200 и 9300 от контейнера към хоста.
  • Задайте променливата на средата „discovery.type tosingle-node“ за Elasticsearch.
  • Свържете се с персонализирана мрежа, наречена „еластична“.

В сервиз Кибана извършваме следните действия:



  • Използвайте изображението на Kibana 8.9.2.
  • Карта на порт 5601 от контейнера към хоста.
  • Посочете URL адресите за свързване на Elasticsearch чрез променливите на средата ELASTICSEARCH_URL и ELASTICSEARCH_HOSTS.
  • Свържете се с еластичната мрежа.

И накрая, ние настройваме персонализирана мрежа, наречена „еластична“, използвайки мостовия драйвер, който позволява на контейнерите Elasticsearch и Kibana да комуникират.

Стартирайте контейнера

След като дефинираме услугите, можем да продължим и да стартираме контейнерите с помощта на командата Docker Compose, както следва:

$ докер съставяне

Достъп до Elasticsearch и Kibana

След като контейнерите бъдат стартирани, можем да продължим и да имаме достъп до техните екземпляри на следните адреси:

http: // локален хост: 9200 - > Еластично търсене

http: // локален хост: 5601 - > Кибана

Стартирайте Elasticsearch с помощта на командата „Run“ на Docker

Можете също така бързо да стартирате Elasticsearch, като използвате командата „run“ на докера, без да е необходимо да дефинирате персонализираната конфигурация.

Започнете със създаване на Docker мрежа, която да прикачите към екземпляра на Elasticsearch:

$ докер мрежа създайте елк

Веднъж създаден, изпълнете следната команда, за да създадете екземпляра Elasticsearch и да го прикачите към създадената мрежа:

$ докер изпълнение -- име elasticsearch --net лосове -стр 9200 : 9200 -стр 9300 : 9300 -То е 'discovery.type=single-node' elasticsearch:tag

Това опростява процеса на създаване на персонализиран „docker-compose“ файл и бързо стартиране на екземпляра Elasticsearch.

Заключение

Тази статия покри фундаменталните стъпки за дефиниране и стартиране на екземпляри на Elasticsearch и Kibana с помощта на контейнерите на Docker.