安装插件
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.version
或 dependencies
属性中的一个。
相关链接
- 可观测性
- 安全分析
- 安全
- 告警
- 异常检测
- 异步搜索
- 跨集群复制
- 索引状态管理
- k-NN 搜索
- 学习排序
- ML Commons
- 神经搜索
- 通知
- OpenSearch Dashboards
- 性能分析器
- SQL