Доступные вам плагины зависят от того, как был установлен 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
:
- Установить плагин по имени.
- Установить плагин из zip-файла.
- Установить плагин, используя координаты 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 <groupId>:<artifactId>:<version>
ПРИМЕР
$ 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 |
Примечания:
- Dashboard Notebooks были объединены с плагином Observability с выходом OpenSearch 1.2.0.
- 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
.