Установка 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, чтобы он присоединился к существующему кластеру.
-
В отдельном терминале от того, где запущен Elasticsearch, перейдите в каталог, где вы установили Elasticsearch, и запустите инструмент
elasticsearch-create-enrollment-token, чтобы сгенерировать токен регистрации для ваших новых узлов.bin\elasticsearch-create-enrollment-token -s node
Скопируйте токен регистрации, который вы будете использовать для регистрации новых узлов в вашем кластере Elasticsearch.
-
Из каталога установки вашего нового узла запустите Elasticsearch и передайте токен регистрации с параметром
--enrollment-token.bin\elasticsearch --enrollment-token <enrollment-token>
Elasticsearch автоматически генерирует сертификаты и ключи в следующем каталоге:
config\certs
- Повторите предыдущий шаг для всех новых узлов, которые вы хотите зарегистрировать.
Настройка 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
| Убедитесь, что вы используете
|
Вызов возвращает ответ такого вида:
{
"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 в качестве службы, которая работает в фоновом режиме или запускается автоматически при загрузке без взаимодействия с пользователем.
-
Установите 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.
-
Запустите Elasticsearch как службу. При запуске Elasticsearch по умолчанию включена аутентификация:
C:\Program Files\elasticsearch-8.17.3\bin>bin\elasticsearch-service.bat start
TLS не включен или настроен при запуске Elasticsearch как службы.
-
Сгенерируйте пароль для пользователя
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).
Доступные команды:
| | Установка Elasticsearch в качестве службы |
| | Удаление установленной службы Elasticsearch (и остановка службы, если она запущена) |
| | Запуск службы Elasticsearch (если она установлена) |
| | Остановка службы Elasticsearch (если она запущена) |
| | Запуск графического интерфейса для управления установленной службой |
Настройка параметров службы
Службу Elasticsearch можно настроить перед установкой, установив следующие переменные среды (либо с помощью команды set из командной строки, либо через графический интерфейс Свойства системы→Переменные среды).
| | Уникальный идентификатор службы. Полезно при установке нескольких экземпляров на одном компьютере. По умолчанию |
| | Пользователь, от имени которого будет выполняться служба, по умолчанию — локальный системный аккаунт. |
| | Пароль для пользователя, указанного в |
| | Имя службы. По умолчанию |
| | Описание службы. По умолчанию |
| | Каталог установки нужной JVM для запуска службы. |
| | Каталог логов службы, по умолчанию |
| | Каталог файла конфигурации (который должен содержать файлы |
| | Любые дополнительные системные свойства JVM, которые вы хотите применить. |
| | Режим запуска службы. Может быть либо |
| | Время ожидания в секундах, которое procrun ожидает, пока служба завершит работу корректно. По умолчанию |
В основе 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 или | Каталог, созданный при распаковке архива | |
bin | Скрипты двоичных файлов, включая |
| |
conf | Файлы конфигурации, включая |
| |
conf | Сгенерированные ключи и сертификаты TLS для транспортного и HTTP-слоя. |
| |
data | Местоположение файлов данных каждого индекса/фрагмента, выделенного на узле. |
|
|
logs | Расположение файлов журналов. |
|
|
plugins | Расположение файлов плагинов. Каждый плагин будет находиться в подкаталоге. |
| |
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