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

Установка Elasticsearch из архива на Linux или MacOS

Elasticsearch доступен в виде .tar.gz архива для Linux и MacOS.

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

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

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

Загрузка и установка архива для Linux

Архив Linux для Elasticsearch v8.17.3 можно загрузить и установить следующим образом:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.3-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.3-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-8.17.3-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-8.17.3-linux-x86_64.tar.gz
cd elasticsearch-8.17.3/ 

Сравните SHA загруженного .tar.gz архива с опубликованной контрольной суммой, результат должен быть elasticsearch-{version}-linux-x86_64.tar.gz: OK.

Этот каталог известен как $ES_HOME.

Загрузка и установка архива для MacOS

Предупреждения Gatekeeper для macOS

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

Чтобы предотвратить проверки Gatekeeper для файлов Elasticsearch, выполните следующую команду в загруженном архиве .tar.gz или каталоге, в который он был распакован:

xattr -d -r com.apple.quarantine <archive-or-directory>

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

Архив MacOS для Elasticsearch v8.17.3 можно загрузить и установить следующим образом:

curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.3-darwin-x86_64.tar.gz
curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.3-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
tar -xzf elasticsearch-8.17.3-darwin-x86_64.tar.gz
cd elasticsearch-8.17.3/ 

Сравните SHA загруженного .tar.gz архива с опубликованной контрольной суммой, результат должен быть elasticsearch-{version}-darwin-x86_64.tar.gz: OK.

Этот каталог известен как $ES_HOME.

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

Некоторые коммерческие функции автоматически создают индексы в 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

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

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

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

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

export ELASTIC_PASSWORD="your_password"

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

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

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

Все скрипты, входящие в состав Elasticsearch, требуют версию Bash, поддерживающую массивы, и предполагают, что Bash доступен по адресу /bin/bash. Таким образом, Bash должен быть доступен по этому пути, либо напрямую, либо через символическую ссылку.

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

При первом запуске 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 работает, отправив 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"
}

Печать логов в stdout можно отключить, используя параметр -q или --quiet в командной строке.

Запуск в качестве демона

Чтобы запустить Elasticsearch в качестве демона, укажите -d в командной строке и запишите идентификатор процесса в файл с помощью опции -p:

./bin/elasticsearch -d -p pid

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

Логи сообщения можно найти в каталоге $ES_HOME/logs/.

Чтобы остановить Elasticsearch, выполните команду завершения процесса с идентификатором, записанным в файле pid:

pkill -F pid

Пакет Elasticsearch .tar.gz не включает модуль systemd. Чтобы управлять Elasticsearch как службой, используйте пакет Debian или RPM вместо этого.

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

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

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

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

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

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

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

$ES_HOME/config/certs/http_ca.crt

Шестнадцатеричная SHA-256 отпечатка этого сертификата также выводится в терминал. Любые клиенты, подключающиеся к Elasticsearch, такие как клиенты Elasticsearch, Beats, автономные агенты Elastic и Logstash, должны проверить, что они доверяют сертификату, используемому Elasticsearch для HTTPS. Сервер Fleet и управляемые 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.

Структура каталогов архивов

Архивные дистрибутивы полностью самодостаточны. Все файлы и каталоги по умолчанию находятся в $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 генерируются следующие сертификаты и ключи, используемые для подключения экземпляра Kibana к вашему защищённому кластеру Elasticsearch и для шифрования межузлового взаимодействия. Файлы перечислены для справки.

http_ca.crt
Сертификат CA, который используется для подписания сертификатов для HTTP-слоя этого кластера Elasticsearch.
http.p12
Хранилище ключей, содержащее ключ и сертификат для HTTP-слоя для данного узла.
transport.p12
Хранилище ключей, содержащее ключ и сертификат для транспортного слоя для всех узлов вашего кластера.

http.p12 и transport.p12 являются защищёнными паролем хранилищами ключей PKCS#12. Elasticsearch сохраняет пароли этих хранилищ ключей в качестве настроек безопасности. Чтобы получить пароли для просмотра или изменения содержимого хранилищ ключей, используйте инструмент bin/elasticsearch-keystore.

Используйте следующую команду для получения пароля для http.p12:

bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

Используйте следующую команду для получения пароля для transport.p12:

bin/elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password

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

Теперь у вас есть тестовая среда 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/targz.html

Spec-Zone.ru

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