Elasticsearch е изграден върху Apache Lucene и беше пуснат за първи път през 2010 г. Известен със своите прости REST API, разпределен характер, скорост и мащабируемост, Elasticsearch е централният компонент на Elastic Stack, набор от безплатни и отворени инструменти за поглъщане, обогатяване на данни , съхранение, анализ и визуализация.
В този урок бързо ще прегледаме процеса на настройка на екземпляр на Elasticsearch с помощта на контейнерите на Docker.
Изисквания:
За да изпълните командите и стъпките, предоставени в тази публикация, се уверете, че имате следното:
- Инсталиран Docker Engine
- Инсталиран Docker Compose
- Достатъчни разрешения за стартиране на 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.