Установка плагинов

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

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

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

Для получения списка доступных плагинов смотрите Доступные плагины.

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

Управление плагинами

Для управления плагинами в OpenSearch вы можете использовать инструмент командной строки под названием opensearch-plugin. Этот инструмент позволяет выполнять следующие действия:

  • Список установленных плагинов.
  • Установка плагинов.
  • Удаление установленного плагина.

Вы можете вывести текст справки, передав -h или --help. В зависимости от конфигурации вашего хоста, вам также может потребоваться запускать команду с привилегиями sudo.

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

Список

Используйте list, чтобы увидеть список плагинов, которые уже были установлены.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin list

ПРИМЕР

$ ./opensearch-plugin list
opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-geospatial
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ml
opensearch-notifications
opensearch-notifications-core
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-sql

Список (с помощью CAT API)

Вы также можете перечислить установленные плагины, используя CAT API.

ИСПОЛЬЗОВАНИЕ

GET _cat/plugins

ПРИМЕР ОТВЕТА

opensearch-node1 opensearch-alerting                  2.0.1.0
opensearch-node1 opensearch-anomaly-detection         2.0.1.0
opensearch-node1 opensearch-asynchronous-search       2.0.1.0
opensearch-node1 opensearch-cross-cluster-replication 2.0.1.0
opensearch-node1 opensearch-index-management          2.0.1.0
opensearch-node1 opensearch-job-scheduler             2.0.1.0
opensearch-node1 opensearch-knn                       2.0.1.0
opensearch-node1 opensearch-ml                        2.0.1.0
opensearch-node1 opensearch-notifications             2.0.1.0
opensearch-node1 opensearch-notifications-core        2.0.1.0

Установка

Существует три способа установки плагинов с помощью инструмента opensearch-plugin:

  1. Установить плагин по имени.
  2. Установить плагин из zip-файла.
  3. Установить плагин, используя координаты Maven.

Установка плагина по имени

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

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin install analysis-icu
-> Установка analysis-icu
-> Загрузка analysis-icu из opensearch
[=================================================] 100%   
-> Установлен analysis-icu с именем папки analysis-icu

Установка плагина из zip-файла

Вы можете установить удаленные zip-файлы, заменив <zip-file> на URL размещенного файла. Инструмент поддерживает загрузку только по протоколам HTTP/HTTPS. Для локальных zip-файлов замените <zip-file> на file:, за которым следует абсолютный или относительный путь к zip-файлу плагина, как показано во втором примере ниже.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <zip-file>

Пример

# Zip file is hosted on a remote server - in this case, Maven central repository.
$ sudo ./opensearch-plugin install https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
-> Installing https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
-> Downloading https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

# Zip file in a local directory.
$ sudo ./opensearch-plugin install file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
-> Installing file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
-> Downloading file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

Установка плагина, используя координаты Maven

Инструмент opensearch-plugin install также позволяет вам указывать координаты Maven для доступных артефактов и версий, размещенных на Maven Central. Инструмент анализирует предоставленные вами координаты Maven и формирует URL. В результате хост должен иметь возможность напрямую подключаться к сайту Maven Central. Установка плагина завершится неудачей, если вы передадите координаты прокси-серверу или локальному репозиторию.

ИСПОЛЬЗОВАНИЕ

$$bin/opensearch-plugin install ::$$

ПРИМЕР

$ sudo ./opensearch-plugin install org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0
-> Installing org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0
-> Downloading org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0 from maven central
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

Перезапустите узел OpenSearch после установки плагина.

Установка нескольких плагинов

Несколько плагинов можно установить за одну команду.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <plugin-name> <plugin-name> ... <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin install analysis-nori repository-s3

Удаление

Вы можете удалить плагин, который уже был установлен, с помощью опции remove.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin remove <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin remove opensearch-anomaly-detection
-> Удаление [opensearch-anomaly-detection]...

После удаления плагина перезапустите узел OpenSearch.

Пакетный режим

При установке плагина, который требует дополнительных привилегий, не включенных по умолчанию, плагин запросит у вас подтверждение необходимых привилегий. Чтобы предоставить все запрашиваемые привилегии, используйте пакетный режим, чтобы пропустить запрос на подтверждение.

Чтобы принудительно включить пакетный режим при установке плагинов, добавьте опцию -b или --batch:

bin/opensearch-plugin install --batch <plugin-name>

Доступные плагины

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

Встроенные плагины

Следующие плагины входят во все дистрибуции OpenSearch, за исключением минимальной дистрибуции. Если вы используете минимальную дистрибуцию, вы можете добавить эти плагины, используя один из методов установки.

Название плагина Репозиторий Самая ранняя доступная версия
Alerting opensearch-alerting 1.0.0
Anomaly Detection opensearch-anomaly-detection 1.0.0
Asynchronous Search opensearch-asynchronous-search 1.0.0
Cross Cluster Replication opensearch-cross-cluster-replication 1.1.0
Custom Codecs opensearch-custom-codecs 2.10.0
Flow Framework flow-framework 2.12.0
Notebooks opensearch-notebooks 1.0.0 до 1.1.0
Notifications notifications 2.0.0
Reports Scheduler opensearch-reports-scheduler 1.0.0
Geospatial opensearch-geospatial 2.2.0
Index Management opensearch-index-management 1.0.0
Job Scheduler opensearch-job-scheduler 1.0.0
k-NN opensearch-knn 1.0.0
Learning to Rank opensearch-ltr 2.19.0
ML Commons opensearch-ml 1.3.0
Skills opensearch-skills 2.12.0
Neural Search neural-search 2.4.0
Observability opensearch-observability 1.2.0
Performance Analyzer opensearch-performance-analyzer 1.0.0
Security opensearch-security 1.0.0
Security Analytics opensearch-security-analytics 2.4.0
SQL opensearch-sql 1.0.0
Learning to Rank Base opensearch-learning-to-rank-base 2.19.0
Remote Metadata SDK opensearch-remote-metadata-sdk 2.19.0
Query Insights query-insights 2.16.0
System Templates opensearch-system-templates 2.17.0
User Behavior Insights ubi 3.0.0
Search Relevance search-relevance 3.1.0

Примечания:

  1. Dashboard Notebooks были объединены с плагином Observability с выходом OpenSearch 1.2.0.
  2. Performance Analyzer недоступен на Windows.

СКАЧИВАНИЕ ВСТРОЕННЫХ ПЛАГИНОВ ДЛЯ ОФЛАЙН-УСТАНОВКИ

Каждый встроенный плагин можно скачать и установить оффлайн из zip-файла.

URL для соответствующего плагина можно найти в файле manifest.yml, который расположен в корневом каталоге извлеченного пакета.

Основные плагины

Основной (или нативный) плагин в OpenSearch — это плагин, который находится в репозитории основного движка OpenSearch. Эти плагины тесно интегрированы с движком OpenSearch, версионируются вместе с основными релизами и по умолчанию не включены в стандартную дистрибуцию OpenSearch.

СКАЧИВАНИЕ ОСНОВНЫХ ПЛАГИНОВ ДЛЯ ОФЛАЙН-УСТАНОВКИ

Каждый из основных плагинов в этом списке можно скачать и установить оффлайн из zip-файла, используя официальный шаблон URL репозитория плагинов:

https://artifacts.opensearch.org/releases/plugins/<plugin-name>/<version>/<plugin-name>-<version>.zip

Где <plugin-name> соответствует имени встроенного плагина (например, analysis-icu). <version> должен соответствовать версии дистрибуции OpenSearch (например, 2.19.1).

Например, используйте следующий URL для скачивания дистрибуции встроенного плагина analysis-icu для версии OpenSearch 2.19.1:

https://artifacts.opensearch.org/releases/plugins/analysis-icu/2.19.1/analysis-icu-2.19.1.zip

Дополнительные плагины

Существует множество других плагинов, доступных помимо тех, что предоставлены в стандартной дистрибуции. Эти дополнительные плагины были разработаны разработчиками OpenSearch или членами сообщества OpenSearch. Для получения списка дополнительных плагинов, которые вы можете установить, смотрите Дополнительные плагины.

Совместимость плагинов

Вы можете указать совместимость плагина с определенной версией OpenSearch в файле plugin-descriptor.properties. Например, плагин с следующим свойством совместим только с OpenSearch 2.3.0:

opensearch.version=2.3.0

В качестве альтернативы вы можете указать диапазон совместимых версий OpenSearch, установив свойство dependencies в файле plugin-descriptor.properties в одну из следующих нотаций:

  • dependencies={ opensearch: "2.3.0" }: Плагин совместим только с версией OpenSearch 2.3.0.
  • dependencies={ opensearch: "=2.3.0" }: Плагин совместим только с версией OpenSearch 2.3.0.
  • dependencies={ opensearch: "~2.3.0" }: Плагин совместим со всеми версиями от 2.3.0 до следующей минорной версии, в данном примере — 2.4.0 (исключительно).
  • dependencies={ opensearch: "^2.3.0" }: Плагин совместим со всеми версиями от 2.3.0 до следующей мажорной версии, в данном примере — 3.0.0 (исключительно).

Вы можете указать только одно из свойств opensearch.version или dependencies.

Связанные ссылки