此 API 用于获取集群中所有节点上安装的插件信息。
API #
GET /_cat/plugins
API 的作用 #
返回集群中每个节点上安装的插件详细信息,包括:
- 节点信息:节点 ID 和节点名称
- 插件信息:插件组件名称、版本和描述
此 API 用于验证插件安装情况,确保所有节点上的插件版本一致,以及检查集群中安装了哪些插件。
API 的参数 #
此 API 没有路由参数。
查询字符串参数 #
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|---|
format | string | 可选 | text | 响应格式 可选值: json, yaml, text |
h | string | 可选 | 默认列 | 指定显示的列,逗号分隔 |
help | boolean | 可选 | false | 显示帮助信息 |
local | boolean | 可选 | false | 是否从本地节点获取信息 |
master_timeout | time | 可选 | 30s | 等待主节点响应的超时时间 |
s | string | 可选 | - | 排序列 支持 :asc 和 :desc |
v | boolean | 可选 | false | 详细模式,显示列头 |
返回的字段信息 #
| 列名 | 别名 | 描述 | 默认显示 |
|---|---|---|---|
id | - | 节点唯一 ID | ✓ |
name | n | 节点名称 | ✓ |
component | c | 插件组件名称 | ✓ |
version | v | 插件版本 | ✓ |
description | d | 插件详细信息 | ✗ |
请求示例 #
# 查询所有节点的插件
GET /_cat/plugins
# 显示列头
GET /_cat/plugins?v
# 使用 JSON 格式
GET /_cat/plugins?format=json
# 只显示特定列
GET /_cat/plugins?h=name,component,version
# 按节点名称排序
GET /_cat/plugins?s=name:asc
# 显示帮助信息
GET /_cat/plugins?help
响应示例 #
文本格式(默认) #
id name component version
node-abc123 master-node analysis-icu 1.0.0
node-abc123 master-node ingest-geo 1.0.0
node-def456 data-node-1 analysis-icu 1.0.0
node-def456 data-node-1 ingest-geo 1.0.0
node-def456 data-node-1 repository-s3 1.0.0
node-ghi789 data-node-2 analysis-icu 1.0.0
node-ghi789 data-node-2 ingest-geo 1.0.0
JSON 格式 #
[
{
"id": "node-abc123",
"name": "master-node",
"component": "analysis-icu",
"version": "1.0.0",
"description": "ICU Analysis plugin"
},
{
"id": "node-abc123",
"name": "master-node",
"component": "ingest-geo",
"version": "1.0.0",
"description": "Geo ingest processor"
}
]
带描述信息的响应 #
GET /_cat/plugins?v&h=name,component,version,description
name component version description
master-node analysis-icu 1.0.0 ICU Analysis plugin for EasySearch
master-node ingest-geo 1.0.0 Geo ingest plugin for EasySearch
data-node-1 analysis-icu 1.0.0 ICU Analysis plugin for EasySearch
data-node-1 repository-s3 1.0.0 S3 Repository plugin
常见插件类型 #
分析器插件 #
analysis-icu:ICU 国际化组件分析器analysis-kuromoji:日语分词器analysis-smartcn:中文分词器analysis-stempel:波兰语分析器
摄取插件 #
ingest-geo:地理位置处理器ingest-user-agent:User-Agent 解析器ingest-attachment:附件内容提取
存储库插件 #
repository-s3:AWS S3 存储repository-azure:Azure 存储repository-gcs:Google Cloud Storagerepository-hdfs:HDFS 存储
发现插件 #
discovery-ec2:AWS EC2 发现discovery-azure:Azure 发现discovery-gce:Google Cloud Engine 发现
安全插件 #
x-pack-security:X-Pack 安全功能
使用场景 #
- 插件验证:确认所有节点上的插件已正确安装
- 版本一致性检查:确保所有节点的插件版本一致
- 容量规划:了解集群中安装了哪些插件
- 问题排查:诊断插件相关的故障
- 升级准备:在升级前检查插件兼容性
插件管理命令 #
列出已安装插件(命令行) #
bin/easysearch-plugin list
安装插件 #
bin/easysearch-plugin install [plugin-name]
删除插件 #
bin/easysearch-plugin remove [plugin-name]
注意事项 #
- 此 API 只支持 GET 方法
- 插件描述默认不显示,需要通过
h参数指定 - 不同节点应该安装相同版本的插件
- 插件安装/删除需要重启节点才能生效
- 某些插件(如 Discovery 插件)需要在所有节点上保持一致
最佳实践 #
- 版本一致:确保所有节点上的插件版本一致
- 测试验证:在生产环境安装插件前先在测试环境验证
- 最小化安装:只安装必要的插件,减少安全风险
- 定期更新:定期更新插件到稳定版本
- 文档记录:记录安装的插件及其版本,便于维护
插件问题排查 #
插件不一致导致的问题 #
如果不同节点上的插件版本不一致:
- 节点可能无法加入集群
- 某些功能可能无法正常工作
- 可能出现序列化/反序列化错误
检查插件一致性 #
# 按组件分组,检查各节点版本是否一致
GET /_cat/plugins?h=component,version,name





