Гид по технологиям

Как установить Elasticsearch на Ubuntu

• 5 min read • Инфраструктура • Обновлено 16 Nov 2025
Установка Elasticsearch на Ubuntu
Установка Elasticsearch на Ubuntu

Дашборд аналитики и ноутбук с графиками

Что такое Elasticsearch?

Elasticsearch — распределённый движок поиска и аналитики. Коротко: хранит, индексирует и быстро ищет большие объёмы данных в почти реальном времени. Построен поверх Apache Lucene; обеспечивает полнотекстовый поиск, гибкие запросы и масштабируемость. Частые применения: анализ логов, мониторинг, информационный поиск и исследования в AI/ML.

Определение терминов:

  • JDK — Java Development Kit, набор инструментов для запуска Java-приложений.
  • APT — пакетный менеджер Debian/Ubuntu.

Что вам понадобится перед установкой

Вывод команды java --version в терминале

Обязательное требование: установленный JDK версии 11 или выше. Elasticsearch — Java-приложение, поэтому без JDK оно не запустится.

Проверка наличия Java:

java --version

Если команда не найдена или показывает версию ниже 11, установите JDK. На Ubuntu удобно использовать APT:

sudo apt update
sudo apt install openjdk-18-jdk

В команде можно заменить 18 на любую версию JDK >= 11. После установки снова выполните java –version.

Важно: для серверных инсталляций выбирайте стабильную LTS-версию JDK, совместимую с нужной версией Elasticsearch.

Шаг 1 — добавить GPG-ключ и репозиторий Elastic

Elasticsearch отсутствует в официальных репозиториях Ubuntu, поэтому нужно добавить репозиторий Elastic и его GPG-ключ. Выполните следующие команды:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update

Примечание: если вам нужна ветка 7.x, замените 8.x на 7.x в URL-адресе.

Почему это важно: GPG-ключ гарантирует целостность пакетов и защищает от подмены при установке через APT.

Шаг 2 — установка Elasticsearch через APT

После добавления репозитория установите пакет обычной командой:

sudo apt install elasticsearch

Подтвердите установку, нажав Y, и дождитесь завершения процесса. APT автоматически установит все зависимости.

После установки основной пакет не запущен по умолчанию. Чтобы включить автозапуск и запустить сервис сейчас:

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
sudo systemctl status elasticsearch.service

Проверьте, что сервис отвечает на локальном порту 9200:

curl -sS http://localhost:9200 | jq .

Если jq не установлен, можно использовать curl http://localhost:9200 и посмотреть сырой JSON.

Шаг 3 — установка через DEB-пакет (альтернатива APT)

Если по каким-то причинам вы предпочитаете вручную скачать .deb, выполните:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-amd64.deb
sudo dpkg -i elasticsearch-8.8.2-amd64.deb
sudo apt -f install

Команда sudo apt -f install попраvит недостающие зависимости, если dpkg потребует их вручную.

Снова активируйте и запустите сервис через systemctl, как показано выше.

Скачать: Elasticsearch (официальный сайт с релизами)

Базовая проверка и отладка

  1. Проверка статуса systemd:
sudo systemctl status elasticsearch
  1. Просмотр логов:
sudo journalctl -u elasticsearch -f
  1. Тест HTTP API:
curl -sS http://localhost:9200/_cluster/health?pretty

Если ответ показывает статус green/yellow/red — у вас кластер в рабочем состоянии. Для односерверной установки ожидаем green или yellow (например, если реплик нет).

Распространённые проблемы и быстрые решения:

  • Сервис не запускается: проверьте журнал на ошибки памяти или несовместимости Java.
  • “Permission denied” при записи в директории: убедитесь, что пакет работает от правильного пользователя elasticsearch и у него есть доступ к /var/lib/elasticsearch и /var/log/elasticsearch.
  • Версия Java несовместима: используйте JDK 11+.

Пост-установка: базовая конфигурация

Файл конфигурации: /etc/elasticsearch/elasticsearch.yml

Минимальные настройки, которые часто правят:

  • network.host — по умолчанию localhost; для доступа по сети укажите IP или 0.0.0.0 (внимание к безопасности).
  • cluster.initial_master_nodes — при первом запуске кластера укажите имена мастеров.
  • path.data и path.logs — пути к данным и логам, при необходимости смените на отдельный диск.

Пример включения удалённого доступа (только в защищённой сети):

network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

После изменения конфигурации перезапустите сервис:

sudo systemctl restart elasticsearch

Важно: открывать 9200 в интернет без защиты опасно. Рассмотрите настройку брандмауэра, nginx-прокси с аутентификацией или использование встроенной безопасности Elastic (TLS, пользователи).

Безопасность: быстрые рекомендации

  • Включите встроенный Security (в последних версиях Elastic включена по умолчанию) и установите пароль для встроенных пользователей.
  • Используйте TLS для узлов кластера и для HTTP-API.
  • Ограничьте доступ к порту 9200 через ufw/iptables или проксирование через аутентифицированный reverse proxy.
  • Регулярно обновляйте Elasticsearch и JDK.

Когда Elastic — избыточен: альтернативы

  • Для простого хранения логов на домашней машине: lightweight-решения — syslog, logrotate, filebeat без полной ELK-платформы.
  • Для простого поиска по файлам: ripgrep или local full-text search утилиты.
  • Для временного анализа — SQLite/InfluxDB + Grafana.

Контрольный список ролей (кто что делает)

  • Сисадмин: установить JDK, настроить репозиторий, запустить сервис, настроить бэкапы.
  • DevOps/инженер: развернуть кластер, настроить мониторинг и SLI/SLO, интегрировать в CI.
  • Разработчик: проверить API, создать индекс и мэппинг, загрузить тестовые данные.

Шаблон быстрых команд (cheat sheet)

# Проверка Java
java --version

# Добавить репозиторий Elastic и обновить
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update

# Установка
sudo apt install elasticsearch

# Включить и запустить
sudo systemctl enable --now elasticsearch

# Проверка API
curl -sS http://localhost:9200/_cluster/health?pretty

Критерии приёмки

  • Elasticsearch установлен и запущен как systemd-сервис.
  • Ответ на http://localhost:9200 возвращает корректный JSON с версией.
  • Мониторинг/логи собираются и сохраняются в /var/log/elasticsearch.

Часто задаваемые вопросы

Какую версию Elasticsearch выбирать?

Выбирайте стабильную ветку, которая совместима с вашими клиентскими библиотеками и версией Kibana. Для новых проектов — последняя 8.x.

Нужно ли ставить Kibana?

Kibana нужна, если вам нужен веб-интерфейс для визуализации и управления. Для простого API-доступа она необязательна.

Как настроить безопасность?

Включите встроенную security, настроив TLS и пользователей, ограничьте доступ к порту 9200 и используйте прокси с аутентификацией для публичных интерфейсов.

Резюме

Установка Elasticsearch на Ubuntu сводится к трём шагам: подготовить JDK 11+, добавить GPG-ключ и репозиторий Elastic, затем установить пакетом через APT или вручную через DEB. После установки активируйте сервис, проверьте API и настройте безопасность перед открытием доступа извне.

Важно: для боевых развёртываний продумывайте кластерную архитектуру, резервирование данных и мониторинг.

Подводим итоги: если вам нужен мощный движок поиска и аналитики — Elasticsearch отличный выбор. Для лёгких сценариев логирования рассмотрите более простые альтернативы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро