Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›Настройка Elasticsearch ›Установка Elasticsearch

Установка Elasticsearch с .zip на Windows

Elasticsearch можно установить на Windows с помощью архива Windows .zip. В нём есть команда elasticsearch-service.bat, которая настроит Elasticsearch для работы в качестве службы.

Этот пакет содержит как бесплатные, так и подписные функции. Начните 30-дневный пробный период, чтобы опробовать все функции.

На Windows функция машинного обучения Elasticsearch требует библиотеки Microsoft Universal C Runtime. Она встроена в Windows 10, Windows Server 2016 и более поздние версии Windows. Для более старых версий Windows её можно установить через Центр обновления Windows или с отдельного сайта загрузок. Если вы не можете установить библиотеку Microsoft Universal C Runtime, вы всё равно можете использовать Elasticsearch, отключив функцию машинного обучения.

Самую последнюю стабильную версию Elasticsearch можно найти на странице Загрузка Elasticsearch. Другие версии можно найти на странице Прошлые релизы.

Elasticsearch включает в себя встроенную версию OpenJDK от разработчиков JDK (GPLv2+CE). Чтобы использовать свою версию Java, ознакомьтесь с требованиями к версии JVM.

Загрузка и установка пакета .zip

Загрузите архив .zip для Elasticsearch 8.17.3 с сайта: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.3-windows-x86_64.zip

Разархивируйте его с помощью вашего любимого архиватора. Это создаст папку elasticsearch-8.17.3, которую мы будем называть %ES_HOME%. В окне терминала перейдите в каталог %ES_HOME%, например:

cd C:\Program Files\elasticsearch-8.17.3

Включение автоматического создания системных индексов

Некоторые коммерческие функции автоматически создают индексы в Elasticsearch. По умолчанию Elasticsearch настроен на разрешение автоматического создания индексов, и дополнительные шаги не требуются. Однако, если вы отключили автоматическое создание индексов в Elasticsearch, вам необходимо настроить action.auto_create_index в elasticsearch.yml, чтобы разрешить коммерческим функциям создавать следующие индексы:

action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

Если вы используете Logstash или Beats, вам, скорее всего, потребуются дополнительные имена индексов в настройке action.auto_create_index, а точное значение будет зависеть от вашей локальной конфигурации. Если вы не уверены в правильном значении для вашей среды, вы можете установить значение на *, что позволит автоматически создавать все индексы.

Запуск Elasticsearch из командной строки

Запустите следующую команду, чтобы запустить Elasticsearch из командной строки:

.\bin\elasticsearch.bat

При первом запуске Elasticsearch по умолчанию включены и настроены функции безопасности. Автоматически происходит следующая настройка безопасности:

  • Включены аутентификация и авторизация, и генерируется пароль для встроенного суперпользователя elastic.
  • Генерируются сертификаты и ключи для TLS для транспортного и HTTP-слоёв, и TLS включён и настроен с помощью этих ключей и сертификатов.
  • Генерируется токен регистрации для Kibana, действительный в течение 30 минут.

Пароль для пользователя elastic и токен регистрации для Kibana выводятся в терминал.

Рекомендуется сохранить пароль для пользователя elastic в качестве переменной окружения в вашей оболочке. Пример:

$ELASTIC_PASSWORD = "your_password"

Если вы защитили хранилище ключей Elasticsearch паролем, вам будет предложено ввести пароль хранилища ключей. Подробности см. в разделе Настройки безопасности.

По умолчанию Elasticsearch выводит свои журналы в консоль (STDOUT) и в файл <cluster name>.log в каталоге журналов Logs. Elasticsearch регистрирует некоторую информацию во время запуска, но после завершения инициализации он продолжает работать в фоновом режиме и не будет регистрировать ничего дальше, пока не произойдёт событие, достойное записи. Во время работы Elasticsearch вы можете взаимодействовать с ним через HTTP-интерфейс, который по умолчанию находится на порту 9200.

Чтобы остановить Elasticsearch, нажмите Ctrl-C.

Регистрация узлов в существующем кластере

При первом запуске Elasticsearch процесс автоматической настройки безопасности привязывает HTTP-слой к 0.0.0.0, но привязывает транспортный слой только к localhost. Это задуманное поведение обеспечивает возможность запуска кластера из одного узла с включенной по умолчанию безопасностью без дополнительной конфигурации.

Перед регистрацией нового узла в производственных кластерах обычно необходимы дополнительные действия, такие как привязка к адресу, отличному от localhost, или удовлетворение проверок запуска. В это время автоматически сгенерированный токен регистрации может истечь, поэтому токены регистрации не генерируются автоматически.

Кроме того, без дополнительной конфигурации узлы могут присоединяться к кластеру только на одном хосте. Если вы хотите, чтобы узлы с другого хоста присоединились к вашему кластеру, необходимо установить transport.host на поддерживаемое значение (например, раскомментировать предложенное значение 0.0.0.0) или IP-адрес, привязанный к интерфейсу, к которому могут получить доступ другие хосты. Для получения дополнительной информации см. настройки транспортного слоя.

Чтобы зарегистрировать новые узлы в вашем кластере, создайте токен регистрации с помощью инструмента elasticsearch-create-enrollment-token на любом существующем узле в вашем кластере. Затем вы можете запустить новый узел с параметром --enrollment-token, чтобы он присоединился к существующему кластеру.

  1. В отдельном терминале от того, где запущен Elasticsearch, перейдите в каталог, где вы установили Elasticsearch, и запустите инструмент elasticsearch-create-enrollment-token, чтобы сгенерировать токен регистрации для ваших новых узлов.

    bin\elasticsearch-create-enrollment-token -s node

    Скопируйте токен регистрации, который вы будете использовать для регистрации новых узлов в вашем кластере Elasticsearch.

  2. Из каталога установки вашего нового узла запустите Elasticsearch и передайте токен регистрации с параметром --enrollment-token.

    bin\elasticsearch --enrollment-token <enrollment-token>

    Elasticsearch автоматически генерирует сертификаты и ключи в следующем каталоге:

    config\certs
  3. Повторите предыдущий шаг для всех новых узлов, которые вы хотите зарегистрировать.

Настройка Elasticsearch в командной строке

Elasticsearch по умолчанию загружает свою конфигурацию из файла %ES_HOME%\config\elasticsearch.yml. Формат этого файла конфигурации описан в разделе Настройка Elasticsearch.

Любые параметры, которые можно указать в файле конфигурации, также можно указать в командной строке, используя синтаксис -E следующим образом:

.\bin\elasticsearch.bat -Ecluster.name=my_cluster -Enode.name=node_1

Значения, содержащие пробелы, должны быть заключены в кавычки. Например, -Epath.logs="C:\My Logs\logs".

Как правило, любые параметры для всего кластера (например, cluster.name) должны быть добавлены в файл конфигурации elasticsearch.yml, в то время как любые узловые параметры, такие как node.name, можно указать в командной строке.

Проверка работы Elasticsearch

Вы можете проверить, что ваш узел Elasticsearch работает, отправив HTTPS-запрос на порт 9200 на localhost:

curl --cacert %ES_HOME%\config\certs\http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200 

Убедитесь, что вы используете https в своём вызове, в противном случае запрос завершится ошибкой.

--cacert
Путь к сгенерированному сертификату http_ca.crt для HTTP-слоя.

Вызов возвращает ответ такого вида:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "8.17.3",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_flavor" : "default",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "9.12.0",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

Установка и запуск Elasticsearch как службы на Windows

Вы можете установить Elasticsearch в качестве службы, которая работает в фоновом режиме или запускается автоматически при загрузке без взаимодействия с пользователем.

  1. Установите Elasticsearch как службу. Имя службы и значение ES_JAVA_HOME будут доступны во время установки:

    C:\Program Files\elasticsearch-8.17.3\bin>elasticsearch-service.bat install
    Installing service      :  "elasticsearch-service-x64"
    Using ES_JAVA_HOME (64-bit):  "C:\jvm\jdk1.8"
    The service 'elasticsearch-service-x64' has been installed.
  2. Запустите Elasticsearch как службу. При запуске Elasticsearch по умолчанию включена аутентификация:

    C:\Program Files\elasticsearch-8.17.3\bin>bin\elasticsearch-service.bat start

    TLS не включен или настроен при запуске Elasticsearch как службы.

  3. Сгенерируйте пароль для пользователя elastic с помощью инструмента elasticsearch-reset-password. Пароль будет выведен в командную строку.

    C:\Program Files\elasticsearch-8.17.3\bin>\bin\elasticsearch-reset-password -u elastic

Хотя для службы Elasticsearch можно использовать JRE, из-за использования клиентской виртуальной машины (в отличие от серверной JVM, которая обеспечивает лучшую производительность для долгоживущих приложений), его использование не рекомендуется, и будет выведено предупреждение.

Переменная среды системы ES_JAVA_HOME должна быть установлена в путь установки JDK, который вы хотите использовать для службы. Если вы обновите JDK, вам не нужно переустанавливать службу, но вы должны установить значение системной переменной среды ES_JAVA_HOME в путь к новой установке JDK. Однако обновление через типы JVM (например, JRE по сравнению с SE) не поддерживается и требует переустановки службы.

Управление Elasticsearch как службой на Windows

Запустите скрипт elasticsearch-service.bat в папке bin\ для установки, удаления, управления или настройки службы, а также, возможно, запуска и остановки службы из командной строки.

C:\Program Files\elasticsearch-8.17.3\bin>elasticsearch-service.bat

Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

Скрипт требует одного параметра (команда для выполнения), за которым следует необязательный параметр, указывающий идентификатор службы (полезно при установке нескольких служб Elasticsearch).

Доступные команды:

install

Установка Elasticsearch в качестве службы

remove

Удаление установленной службы Elasticsearch (и остановка службы, если она запущена)

start

Запуск службы Elasticsearch (если она установлена)

stop

Остановка службы Elasticsearch (если она запущена)

manager

Запуск графического интерфейса для управления установленной службой

Настройка параметров службы

Службу Elasticsearch можно настроить перед установкой, установив следующие переменные среды (либо с помощью команды set из командной строки, либо через графический интерфейс Свойства системы→Переменные среды).

SERVICE_ID

Уникальный идентификатор службы. Полезно при установке нескольких экземпляров на одном компьютере. По умолчанию elasticsearch-service-x64.

SERVICE_USERNAME

Пользователь, от имени которого будет выполняться служба, по умолчанию — локальный системный аккаунт.

SERVICE_PASSWORD

Пароль для пользователя, указанного в %SERVICE_USERNAME%.

SERVICE_DISPLAY_NAME

Имя службы. По умолчанию {es} <version> %SERVICE_ID%.

SERVICE_DESCRIPTION

Описание службы. По умолчанию {es} <version> Windows Service - https://elastic.co.

ES_JAVA_HOME

Каталог установки нужной JVM для запуска службы.

SERVICE_LOG_DIR

Каталог логов службы, по умолчанию %ES_HOME%\logs. Обратите внимание, что это не контролирует путь к логам Elasticsearch; этот путь задается через параметр path.logs в файле конфигурации elasticsearch.yml или в командной строке.

ES_PATH_CONF

Каталог файла конфигурации (который должен содержать файлы elasticsearch.yml, jvm.options и log4j2.properties), по умолчанию %ES_HOME%\config.

ES_JAVA_OPTS

Любые дополнительные системные свойства JVM, которые вы хотите применить.

ES_START_TYPE

Режим запуска службы. Может быть либо auto, либо manual (по умолчанию).

ES_STOP_TIMEOUT

Время ожидания в секундах, которое procrun ожидает, пока служба завершит работу корректно. По умолчанию 0.

В основе elasticsearch-service.bat лежит проект Apache Commons Daemon, который устанавливает службу. Переменные среды, установленные перед установкой службы, копируются и будут использоваться на протяжении всего жизненного цикла службы. Это означает, что любые изменения, внесенные в них после установки, не будут учтены, если служба не переустановлена.

По умолчанию Elasticsearch автоматически настраивает размер кучи JVM в зависимости от ролей узла узла и общего объема памяти. Мы рекомендуем этот размер по умолчанию для большинства производственных сред. При необходимости можно переопределить размер по умолчанию, вручную задав размер кучи.

При первой установке Elasticsearch на Windows как службы или при запуске Elasticsearch из командной строки вы можете вручную задать размер кучи JVM. Чтобы изменить размер кучи для уже установленной службы, используйте диспетчер служб: bin\elasticsearch-service.bat manager.

Служба автоматически настраивает частный временный каталог для использования Elasticsearch во время работы. Этот частный временный каталог настраивается как подкаталог частного временного каталога пользователя, запускающего установку. Если служба будет выполняться под другим пользователем, вы можете настроить расположение временного каталога, который должна использовать служба, установив переменную среды ES_TMPDIR в желаемое расположение перед выполнением установки службы.

Использование графического интерфейса менеджера
Также можно настроить службу после ее установки с помощью графического интерфейса менеджера (elasticsearch-service-mgr.exe), который предоставляет информацию об установленной службе, включая ее состояние, тип запуска, JVM, параметры запуска и остановки и другие параметры. Вызовите elasticsearch-service.bat manager из командной строки, чтобы открыть окно менеджера.

Для того чтобы изменения (например, настройки JVM), внесенные через графический интерфейс менеджера, вступили в силу, необходимо перезапустить службу.

Подключение клиентов к Elasticsearch

При первом запуске Elasticsearch TLS автоматически настраивается для HTTP-слоя. Сертификат CA генерируется и хранится на диске по адресу:

%ES_HOME%\config\certs\http_ca.crt

Шестнадцатеричный отпечаток SHA-256 этого сертификата также выводится в терминал. Любые клиенты, подключающиеся к Elasticsearch, такие как клиенты Elasticsearch, Beats, автономные агенты Elastic и Logstash, должны убедиться, что они доверяют сертификату, используемому Elasticsearch для HTTPS. Fleet Server и управляемые Fleet-агенты Elastic автоматически настраиваются на доверие сертификату CA. Другие клиенты могут установить доверие, используя либо отпечаток сертификата CA, либо сам сертификат CA.

Если процесс автоматической настройки уже завершился, вы всё равно можете получить отпечаток безопасности сертификата. Вы также можете скопировать сертификат CA на свой компьютер и настроить клиент на его использование.

Использование отпечатка CA

Скопируйте значение отпечатка, выведенное в терминал при запуске Elasticsearch, и настройте клиент на использование этого отпечатка для установления доверия при подключении к Elasticsearch.

Если процесс автоматической настройки уже завершился, вы всё равно можете получить отпечаток безопасности сертификата, выполнив следующую команду. Путь к автоматически сгенерированному сертификату CA для HTTP-слоя.

openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt

Команда возвращает сертификат безопасности, включая отпечаток. Значение issuer должно быть Elasticsearch security auto-configuration HTTP CA.

issuer= /CN=Elasticsearch security auto-configuration HTTP CA
SHA256 Fingerprint=<fingerprint>
Использование сертификата CA

Если ваша библиотека не поддерживает метод проверки отпечатка, автоматически сгенерированный сертификат CA создается в следующем каталоге на каждом узле Elasticsearch:

%ES_HOME%\config\certs\http_ca.crt

Скопируйте файл http_ca.crt на свой компьютер и настройте клиент на использование этого сертификата для установления доверия при подключении к Elasticsearch.

Схема расположения папок архива .zip

Пакет .zip полностью самодостаточен. Все файлы и каталоги по умолчанию находятся в %ES_HOME% — каталоге, созданном при распаковке архива.

Это очень удобно, так как вам не нужно создавать какие-либо каталоги, чтобы начать использовать Elasticsearch, и удаление Elasticsearch так же просто, как удаление каталога %ES_HOME%. Однако рекомендуется изменить расположение каталогов конфигурации, данных и журналов по умолчанию, чтобы не удалить важные данные в дальнейшем.

Тип Описание Расположение по умолчанию Настройка

home

Основной каталог Elasticsearch или %ES_HOME%

Каталог, созданный при распаковке архива

bin

Скрипты двоичных файлов, включая elasticsearch для запуска узла и elasticsearch-plugin для установки плагинов

%ES_HOME%\bin

conf

Файлы конфигурации, включая elasticsearch.yml

%ES_HOME%\config

ES_PATH_CONF

conf

Сгенерированные ключи и сертификаты TLS для транспортного и HTTP-слоя.

%ES_HOME%\config\certs

data

Местоположение файлов данных каждого индекса/фрагмента, выделенного на узле.

%ES_HOME%\data

path.data

logs

Расположение файлов журналов.

%ES_HOME%\logs

path.logs

plugins

Расположение файлов плагинов. Каждый плагин будет находиться в подкаталоге.

%ES_HOME%\plugins

repo

Расположения репозиториев общей файловой системы. Может содержать несколько расположений. Репозиторий файловой системы можно разместить в любом подкаталоге любого указанного здесь каталога.

Не настроено

path.repo

Следующие шаги

Теперь у вас настроена тестовая среда Elasticsearch. Прежде чем начать серьезную разработку или перейти в производство с Elasticsearch, необходимо выполнить дополнительную настройку:

  • Изучите, как настроить Elasticsearch.
  • Настройте важные настройки Elasticsearch.
  • Настройте важные системные настройки.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/zip-windows.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API