Установка 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 Dashboard, используя следующую команду.
sudo systemctl enable --now opensearch-dashboards
sudo systemctl status opensearch-dashboardsВ следующем выводе вы можете увидеть, что сервис ‘opensearch-dashboards‘ работает.

Настройка 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
Наконец, выполните следующую команду, чтобы установить правильные разрешения и владельца файлов и каталогов сертификатов.
sudo chown -R opensearch:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certssudo 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 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.
Get new posts in your inbox
No spam. Unsubscribe anytime.