Elasticsearch построен на Apache Lucene и был впервые выпущен в 2010 году. Elasticsearch, известный своими простыми API-интерфейсами REST, распределенным характером, скоростью и масштабируемостью, является центральным компонентом Elastic Stack, набора бесплатных и открытых инструментов для приема и обогащения данных. , хранение, анализ и визуализация.
В этом руководстве мы быстро рассмотрим процесс настройки экземпляра Elasticsearch с использованием контейнеров Docker.
Требования:
Чтобы выполнить команды и шаги, представленные в этом посте, убедитесь, что у вас есть следующее:
- Установленный Docker Engine
- Установлен Docker Compose.
- Достаточные разрешения для запуска контейнеров Docker.
Определите файл Docker Compose
Первым шагом является определение конфигурации Docker Compose для запуска контейнера Docker. Начните с создания каталога для хранения файла конфигурации:
$ мкдир эластичный
$ CD эластичный
Создайте файл «docker-compose.yml» для запуска кластера Elasticsearch, как показано в следующем примере конфигурации:
версия: '3'
услуги:
эластикпоиск01:
изображение: docker.elastic.co / эластичный поиск / эластичный поиск: 8.9.2
имя_контейнера: elasticsearch01
порты:
- 9200 : 9200
- 9300 : 9300
среда:
Discovery.type: один узел
сети:
- эластичный
кибана01:
изображение: docker.elastic.co / кибана / кибана: 8.9.2
имя_контейнера: кибана01
порты:
- 5601 : 5601
среда:
ELASTICSEARCH_URL: http: // эластичный поиск01: 9200
ELASTICSEARCH_HOSTS: http: // эластичный поиск01: 9200
сети:
- эластичный
сети:
эластичный:
водитель: мост
В этом примере файла мы определяем два сервиса. Первый настраивает службу Elasticsearch, а второй — экземпляр Kibana. Шаги описаны ниже:
- Используйте образ Elasticsearch 8.9.2.
- Сопоставьте порты 9200 и 9300 из контейнера с хостом.
- Установите переменную среды «discovery.type tosingle-node» для Elasticsearch.
- Подключитесь к пользовательской сети под названием «эластичная».
В сервисе Kibana мы выполняем следующие действия:
- Используйте образ Kibana 8.9.2.
- Сопоставьте порт 5601 из контейнера с хостом.
- Укажите URL-адреса подключения Elasticsearch через переменные среды ELASTICSEARCH_URL и ELASTICSEARCH_HOSTS.
- Подключитесь к эластичной сети.
Наконец, мы настраиваем собственную сеть под названием «elastic», используя драйвер моста, который позволяет контейнерам Elasticsearch и Kibana взаимодействовать.
Запустите контейнер
Как только мы определим службы, мы можем продолжить и запустить контейнеры с помощью команды Docker Compose следующим образом:
$ докер составить -д
Доступ к Elasticsearch и Kibana
После запуска контейнеров мы можем продолжить работу и получить доступ к их экземплярам по следующим адресам:
http: // локальный хост: 9200 - > Эластичный поискhttp: // локальный хост: 5601 - > Кибана
Запустите Elasticsearch с помощью команды Docker «Выполнить».
Вы также можете быстро запустить Elasticsearch с помощью команды docker «run» без необходимости определять пользовательскую конфигурацию.
Начните с создания сети Docker для подключения к экземпляру Elasticsearch:
$ сеть докеров создает лосяПосле создания выполните следующую команду, чтобы создать экземпляр Elasticsearch и присоединить его к созданной сети:
$ запуск докера -д --имя эластичный поиск --сеть лось -п 9200 : 9200 -п 9300 : 9300 -Это 'discovery.type=один узел' elasticsearch:тегЭто упрощает процесс создания собственного файла «docker-compose» и позволяет быстро запустить экземпляр Elasticsearch.
Заключение
В этой статье были рассмотрены основные этапы определения и запуска экземпляров Elasticsearch и Kibana с использованием контейнеров Docker.