Link Search Menu Expand Document Documentation Menu

安装插件

OpenSearch 包含许多插件,它们为核心平台添加了功能。可用插件取决于 OpenSearch 的安装方式以及随后添加或删除的插件。例如,OpenSearch 的最小发行版仅支持核心功能,例如索引和搜索。当您在测试环境、拥有自定义插件或打算将 OpenSearch 与其他服务集成时,使用 OpenSearch 的最小发行版会很有益。

OpenSearch 的标准发行版包含更多插件,提供更多功能。您可以选择添加其他插件或删除不需要的任何插件。

有关可用插件的列表,请参阅可用插件

为了使插件与 OpenSearch 正常工作,它可能会在安装过程中请求某些权限。请查看请求的权限并相应地进行操作。在安装之前,了解插件的功能非常重要。选择社区提供的插件时,请确保来源值得信赖和可靠。

管理插件

要在 OpenSearch 中管理插件,您可以使用一个名为 opensearch-plugin 的命令行工具。此工具允许您执行以下操作:

您可以通过传递 -h--help 来打印帮助文本。根据您的主机配置,您可能还需要使用 sudo 权限运行该命令。

如果您在 Docker 容器中运行 OpenSearch,则必须通过修改 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 工具安装插件有三种方式:

按名称安装插件

您可以使用插件名称安装未预安装在您的安装中的插件。有关可能未预安装的插件列表,请参阅附加插件

用法

bin/opensearch-plugin install <plugin-name>

示例

$ sudo ./opensearch-plugin install analysis-icu
-> Installing analysis-icu
-> Downloading analysis-icu from opensearch
[=================================================] 100%   
-> Installed analysis-icu with folder name analysis-icu

从 zip 文件安装插件

您可以通过将 <zip-file> 替换为托管文件的 URL 来安装远程 zip 文件。该工具仅支持通过 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 Central 上可用工件和版本的 Maven 坐标。该工具解析您提供的 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
-> removing [opensearch-anomaly-detection]...

删除插件后重启您的 OpenSearch 节点。

批处理模式

当安装需要默认不包含的额外权限的插件时,插件会提示您确认所需的权限。要授予所有请求的权限,请使用批处理模式跳过确认提示。

要在安装插件时强制启用批处理模式,请添加 -b--batch 选项

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

可用插件

OpenSearch 提供了几个捆绑插件,除最小发行版外,所有 OpenSearch 发行版均可立即使用。还有其他插件可用,但必须使用其中一种安装选项单独安装。

捆绑插件

以下插件捆绑在所有 OpenSearch 发行版中,但最小发行版除外。如果您使用的是最小发行版,则可以使用其中一种安装方法添加这些插件。

插件名称 仓库 最早可用版本
告警 opensearch-alerting 1.0.0
异常检测 opensearch-anomaly-detection 1.0.0
异步搜索 opensearch-asynchronous-search 1.0.0
跨集群复制 opensearch-cross-cluster-replication 1.1.0
自定义编解码器 opensearch-custom-codecs 2.10.0
流框架 flow-framework 2.12.0
笔记本1 opensearch-notebooks 1.0.0 到 1.1.0
通知 notifications 2.0.0
报告调度器 opensearch-reports-scheduler 1.0.0
地理空间 opensearch-geospatial 2.2.0
索引管理 opensearch-index-management 1.0.0
任务调度器 opensearch-job-scheduler 1.0.0
k-NN opensearch-knn 1.0.0
学习排序 opensearch-ltr 2.19.0
ML Commons opensearch-ml 1.3.0
技能 opensearch-skills 2.12.0
神经搜索 neural-search 2.4.0
可观测性 opensearch-observability 1.2.0
性能分析器2 opensearch-performance-analyzer 1.0.0
安全 opensearch-security 1.0.0
安全分析 opensearch-security-analytics 2.4.0
SQL opensearch-sql 1.0.0
学习排序基础 opensearch-learning-to-rank-base 2.19.0
远程元数据 SDK opensearch-remote-metadata-sdk 2.19.0
查询洞察 query-insights 2.16.0
系统模板 opensearch-system-templates 2.17.0
用户行为洞察 ubi 3.0.0
搜索相关性 search-relevance 3.1.0

1Dashboard Notebooks 在 OpenSearch 1.2.0 发布时已合并到可观测性插件中。
2性能分析器在 Windows 上不可用。

下载捆绑插件以进行离线安装

每个捆绑插件都可以从zip 文件下载并离线安装。

相应插件的 URL 可以在解压后的捆绑包根目录中的 manifest.yml 文件中找到。

核心插件

OpenSearch 中的_核心_(或_原生_)插件是位于 OpenSearch 核心引擎仓库中的插件。这些插件与 OpenSearch 引擎紧密集成,与核心版本同步,并且在标准 OpenSearch 发行版中默认不捆绑。

下载核心插件以进行离线安装

此列表中的每个核心插件都可以使用官方 plugins 仓库 URL 模板从zip 文件下载并离线安装

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

<plugin-name> 对应于捆绑插件的名称(例如,analysis-icu)。<version> 必须与 OpenSearch 发行版的版本匹配(例如,2.19.1)。

例如,使用以下 URL 下载 OpenSearch 2.19.1 版本的 analysis-icu 捆绑插件发行版

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

附加插件

除了默认发行版提供的插件之外,还有更多插件可用。这些附加插件由 OpenSearch 开发人员或 OpenSearch 社区成员构建。有关您可以安装的附加插件列表,请参阅附加插件

插件兼容性

您可以在 plugin-descriptor.properties 文件中指定插件与特定 OpenSearch 版本的兼容性。例如,具有以下属性的插件仅与 OpenSearch 2.3.0 兼容

opensearch.version=2.3.0

或者,您可以通过将 plugin-descriptor.properties 文件中的 dependencies 属性设置为以下表示法之一来指定兼容 OpenSearch 版本的范围

  • 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.versiondependencies 属性中的一个。


相关文章