Установка OpenSearch · 9 min read · Sep 12, 2025

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

OpenSearch — это проект, управляемый сообществом, созданный Amazon и являющийся форком Elasticsearch и Kibana. Это полностью открытый поисковый движок и аналитический пакет с богатым функционалом и инновационными возможностями. Основные компоненты проекта OpenSearch — это OpenSearch (форк Elasticsearch) и OpenSearch Dashboards (форк Kibana). Оба компонента предоставляют такие функции, как корпоративная безопасность, оповещения, машинное обучение, SQL, управление состоянием индекса и многое другое.

Этот гид покажет вам, как установить OpenSearch и OpenSearch Dashboard на сервер Ubuntu 24.04. Вы также обеспечите безопасность OpenSearch с помощью TLS-сертификатов и включите аутентификацию с именем пользователя и паролем.

Предварительные требования

Перед началом убедитесь, что у вас есть следующее:

  • Сервер Ubuntu 24.04 с как минимум 8 ГБ ОЗУ
  • Непривилегированный пользователь с правами администратора на сервере

Добавление репозитория OpenSearch

Для начала вам нужно добавить репозитории OpenSearch и OpenSearch Dashboard в вашу систему. В этом примере мы будем использовать последнюю стабильную версию OpenSearch.

Сначала выполните команду ниже, чтобы установить базовые пакеты в вашу систему Ubuntu.

sudo apt install lsb-release ca-certificates curl gnupg2 -y

Скачайте GPG-ключ для репозитория OpenSearch с помощью следующей команды.

curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

Добавьте репозитории для OpenSearch и OpenSearch Dashboard в вашу систему с помощью команды ниже. В этом примере вы будете использовать стабильную версию OpenSearch 2.x.

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list  

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.list

Наконец, выполните команду ‘apt‘ ниже, чтобы обновить индекс пакетов и получить новую информацию о пакете OpenSearch.

sudo apt update

Установка OpenSearch и OpenSearch Dashboard

После добавления репозитория OpenSearch вы будете устанавливать OpenSearch и OpenSearch Dashboard через менеджер пакетов APT. Затем вы запустите оба сервиса с помощью утилиты ‘systemctl‘.

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

sudo openssl rand -hex 16

Теперь выполните команду ниже, чтобы установить пакеты ‘opensearch‘ и ‘opensearch-dashboard‘. Убедитесь, что вы изменили ‘OPENSEARCH_INITIAL_ADMIN_PASSWORD‘ и введите ‘Y‘, чтобы подтвердить установку.

sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=B07e_af7e9f8fe12e@85ab797ddc1f174Dapt-get install opensearch opensearch-dashboard

После завершения установки выполните команду ‘systemctl‘ ниже, чтобы перезагрузить менеджер systemd и применить новые файлы сервисов.

sudo systemctl daemon-reload

Теперь вы можете запустить, включить и проверить OpenSearch с помощью команды ниже.

sudo systemctl enable --now opensearch  
sudo systemctl status opensearch

Вы можете увидеть, что OpenSearch работает.

проверка opensearch

Наконец, вы можете запустить, включить и проверить сервис OpenSearch Dashboard, используя следующую команду.

sudo systemctl enable --now opensearch-dashboards  
sudo systemctl status opensearch-dashboards

В следующем выводе вы можете увидеть, что сервис ‘opensearch-dashboards‘ работает.

проверка панели управления opensearch

Настройка OpenSearch

С установленным OpenSearch вы будете настраивать установку через файл ‘ /etc/opensearch/opensearch.yml‘. Вы также увеличите максимальный размер JVM (Java Virtual Memory) для OpenSearch по мере необходимости.

Откройте файл конфигурации OpenSearch ‘ /etc/opensearch/opensearch.yml‘ с помощью редактора ‘nano‘.

sudo nano /etc/opensearch/opensearch.yml

Измените следующие конфигурации OpenSearch:

    • Измените опцию ‘network.host‘ на ваш локальный IP-адрес
    • Добавьте ‘discovery.type‘ как ‘single-node‘, чтобы запустить OpenSearch в одном режиме
    • Установите ‘plugins.security.disabled‘ в ‘false
# Привязать OpenSearch к правильному сетевому интерфейсу. Используйте 0.0.0.0  
# чтобы включить все доступные интерфейсы или укажите IP-адрес  
# назначенный конкретному интерфейсу.  
network.host: 192.168.10.60  
  
# Если вы еще не настроили кластер, вам следует установить  
# discovery.type в single-node, иначе проверки загрузки  
# не пройдут, когда вы попытаетесь запустить сервис.  
discovery.type: single-node  
  
# Если вы ранее отключили плагин безопасности в opensearch.yml,  
# убедитесь, что вы снова включили его. В противном случае вы можете пропустить эту настройку.  
plugins.security.disabled: false

Сохраните файл и выйдите из редактора, когда закончите.

Далее откройте конфигурацию JVM (Java Virtual Machine) ‘ /etc/opensearch/jvm.options‘ с помощью редактора ‘nano‘.

sudo nano /etc/opensearch/jvm.options

Увеличьте максимальный объем памяти для OpenSearch по мере необходимости. Значение по умолчанию — ‘1 ГБ‘.

-Xms2g  
-Xmx2g

Сохраните и выйдите из файла.

Наконец, выполните следующую команду ‘systemctl‘, чтобы перезапустить ‘opensearch‘ и применить ваши изменения. С этим OpenSearch будет работать на локальном IP-адресе в одном режиме.

sudo systemctl restart opensearch

Обеспечение безопасности OpenSearch с помощью сертификатов TLS/SSL

Теперь, когда вы настроили OpenSearch, вам нужно настроить безопасность OpenSearch через сертификаты SSL/TLS. В этом разделе вы отключите демонстрационные сертификаты, а затем сгенерируете корневые сертификаты, сертификаты администратора и сертификаты хоста/сервера.

Перед генерацией сертификатов SSL удалите демонстрационные сертификаты из OpenSearch с помощью команды ниже.

rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}

Отредактируйте конфигурацию OpenSearch ‘ /etc/opensearch/opensearch.yml‘ с помощью редактора ‘nano‘.

sudo nano /etc/opensearch/opensearch.yml

Закомментируйте конфигурацию безопасности ‘demo‘ для OpenSearch следующим образом.

отключить демонстрацию

Сохраните файл и выйдите из редактора.

Теперь создайте новый каталог ‘ /etc/opensearch/certs‘ и перейдите в него. Этот каталог будет использоваться для хранения новых сертификатов для OpenSearch.

mkdir -p /etc/opensearch/certs; cd /etc/opensearch/certs

Генерация корневых сертификатов

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

openssl genrsa -out root-ca-key.pem 2048

Теперь выполните следующую команду, чтобы сгенерировать корневой сертификат из вашего закрытого ключа. Убедитесь, что вы изменили опцию ‘-subj‘ с деталями вашего сервера.

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

Генерация сертификатов администратора

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

openssl genrsa -out admin-key-temp.pem 2048

Преобразуйте ваш ключ администратора в формат PKCS8 с помощью команды ниже.

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

Далее создайте новый сертификат запроса на подпись (CSR) для сертификата администратора с помощью команды ниже.

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

Теперь выполните следующую команду, чтобы подписать ваш новый сертификат запроса администратора (CSR) с корневым сертификатом.

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Генерация сертификатов хоста или сервера

Сгенерируйте закрытый ключ для ваших хостов/серверов OpenSearch и преобразуйте сертификат в формат PKCS8.

openssl genrsa -out ubuntu24-key-temp.pem 2048  
openssl pkcs8 -inform PEM -outform PEM -in ubuntu24-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out ubuntu24-key.PEM

Теперь выполните следующую команду, чтобы сгенерировать запрос сертификата (CSR) для вашего хоста. CN или общее имя должно соответствовать fqdn вашего хост-сервера, а не имени хоста. В этом примере fqdn для сервера — ‘ubuntu24.howtoforge.local‘.

openssl req -new -key ubuntu24-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ubuntu24.howtoforge.local" -out ubuntu24.csr

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

echo 'subjectAltName=DNS:ubuntu24.howtoforge.local' > ubuntu24.ext

Наконец, выполните следующую команду, чтобы подписать сертификат хоста/сервера с корневым сертификатом и включить файл расширения, который вы создали ранее.

openssl x509 -req -in ubuntu24.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out ubuntu24.pem -days 730 -extfile ubuntu24.ext

Настройка сертификатов

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

rm *temp.pem *csr *ext  
ls

Теперь преобразуйте сертификат ‘root-ca.pem‘ в файл ‘root-ca.crt‘ с помощью команды ниже.

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

После этого скопируйте сертификат ‘root-ca.crt‘ в каталог ‘ /usr/local/share/ca-certificates‘ и загрузите ваш корневой сертификат на сервер.

sudo cp root-ca.crt /usr/local/share/ca-certificates  
sudo update-ca-certificates

добавить корневой ca

Наконец, выполните следующую команду, чтобы установить правильные разрешения и владельца файлов и каталогов сертификатов.

sudo chown -R opensearch:opensearch /etc/opensearch/certs  
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem  
sudo chmod 0600 /etc/opensearch/certs/*.crt

Добавление сертификатов в OpenSearch

После генерации TLS-сертификатов для OpenSearch вам нужно добавить новую конфигурацию в файл ‘opensearch.yml‘. В этом случае вы добавите новую конфигурацию в ‘opensearch.yml’ через bash-скрипт.

Перед добавлением сертификатов на ваш сервер OpenSearch выполните команду ниже, чтобы создать резервную копию файла ‘opensearch.yml‘ и настроить ваш сервер fqdn.

sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.orig  
sudo hostnamectl set-hostname ubuntu24.howtoforge.local

Теперь создайте новый файл ‘add-cert.sh‘ с помощью редактора ‘nano‘.

nano add-cert.sh

Вставьте следующие конфигурации в файл. С этим вы добавите новые конфигурации в файл конфигурации OpenSearch ‘opensearch.yml‘.

#! /bin/bash  
  
# Перед запуском этого скрипта убедитесь, что вы заменили CN в  
# отличительном имени узла на реальную DNS A запись.  
  
echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=ubuntu24.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.yml

Сохраните файл и выйдите из редактора, когда закончите.

Теперь сделайте файл ‘add-cert.sh‘ исполняемым и выполните его с помощью следующей команды. Новые конфигурации будут добавлены в файл ‘opensearch.yml’.

chmod +x add-cert.sh  
./add-cert.sh

добавить новую конфигурацию

Обеспечение безопасности OpenSearch с помощью аутентификации по паролю

На этом этапе вы настроили OpenSearch с сертификатами SSL/TLS, и на следующем шаге вы настроите аутентификацию по паролю для OpenSearch. Вы создадите двух пользователей, которые будут использоваться для входа в OpenSearch и интеграции в OpenSearch Dashboard.

Перейдите в каталог ‘ /usr/share/opensearch/plugins/opensearch-security/tools‘ и выполните скрипт ‘hash.sh‘, чтобы сгенерировать новый пароль для OpenSearch. Выполните ‘hash.sh‘ дважды, чтобы сгенерировать два пароля для OpenSearch и OpenSearch Dashboard. Также убедитесь, что вы скопировали сгенерированный пароль в заметку.

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Теперь откройте файл ‘ /etc/opensearch/opensearch-security/internal_users.yml‘ с помощью редактора ‘nano‘.

sudo nano /etc/opensearch/opensearch-security/internal_users.yml

Измените хэш-пароль для пользователей ‘admin‘ и ‘kibanaserver‘ на ваш ранее сгенерированный пароль. Пользователь ‘admin‘ будет использоваться для входа в OpenSearch Dashboard, а пользователь ‘kibanaserver‘ будет использоваться для подключения между OpenSearch и OpenSearch Dashboard.

admin:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
backend_roles:  
- "admin"  
description: "Пользователь-администратор"  
  
kibanaserver:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
description: "Демонстрационный пользователь OpenSearch Dashboards"

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните команду ниже, чтобы перезапустить сервис ‘opensearch‘ и применить ваши изменения.

sudo systemctl restart opensearch

После перезапуска OpenSearch выполните команду ниже, чтобы применить ваши SSL-сертификаты к OpenSearch.

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.10.60 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv

Если все пройдет успешно, вы увидите вывод, подобный этому:

добавить сертификаты

Наконец, выполните команду ‘curl‘ ниже, чтобы проверить аутентификацию на сервере OpenSearch.

curl https://192.168.10.60:9200 -u admin:password -k  
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k

При успешном выполнении вы сможете получить доступ к OpenSearch с вашим именем пользователя и паролем через протокол HTTPS.

доступ к opensearch

Настройка OpenSearch Dashboard

После настройки аутентификации по паролю вы настроите OpenSearch Dashboard, отредактировав файл ‘opensearch-dashboard,yml‘.

Откройте конфигурацию для OpenSearch Dashboard ‘ /etc/opensearch-dashboards/opensearch-dashboard.yml‘ с помощью редактора ‘nano‘.

sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml

Введите ваш локальный IP-адрес в опцию ‘server.host‘ следующим образом:

server.host: "192.168.10.60"

Убедитесь, что вы изменили хост OpenSearch, имя пользователя и пароль на вашу информацию.

opensearch.hosts: ["https://192.168.10.60:9200"]  
opensearch.ssl.verificationMode: none  
opensearch.username: kibanaserver  
opensearch.password: kibanapass

Сохраните файл и выйдите из редактора.

Теперь выполните команду ‘systemctl‘ ниже, чтобы перезапустить OpenSearch Dashboard и применить ваши изменения. С этим OpenSearch Dashboard должен быть подключен к OpenSearch.

sudo systemctl restart opensearch-dashboards

Затем откройте ваш веб-браузер и перейдите по адресу http://192.168.10.60:5601. Если ваша установка успешна, вы увидите страницу входа в OpenSearch Dashboard.

Введите вашего администратора и пароль, затем нажмите ‘Войти‘.

вход

После входа выберите ‘Добавить данные‘, чтобы добавить новые данные, или нажмите опцию ‘Исследовать самостоятельно‘.

исследовать самостоятельно

Чтобы убедиться в соединении между OpenSearch и OpenSearch Dashboard, вам нужно проверить статус OpenSearch с панели управления.

В разделе ‘Управление‘ нажмите ‘Инструменты разработчика‘.

инструменты разработчика

В разделе консоли введите ‘GET /‘ и нажмите кнопку воспроизведения. Если ваше соединение с OpenSearch и OpenSearch Dashboard успешно, вы увидите следующую страницу.

запрос

Заключение

Поздравляем! Вы установили OpenSearch и OpenSearch Dashboard на сервер Ubuntu 24.04. OpenSearch работает в одном режиме, а установка защищена с помощью HTTPS. Наконец, вы также настроили аутентификацию для OpenSearch и интегрировали OpenSearch с OpenSearch Dashboard.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.