📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

此 API 用于获取集群中所有节点上安装的插件信息。

API #

GET /_cat/plugins

API 的作用 #

返回集群中每个节点上安装的插件详细信息,包括:

  • 节点信息:节点 ID 和节点名称
  • 插件信息:插件组件名称、版本和描述

此 API 用于验证插件安装情况,确保所有节点上的插件版本一致,以及检查集群中安装了哪些插件。

API 的参数 #

此 API 没有路由参数。

查询字符串参数 #

参数类型是否必需默认值描述
formatstring可选text响应格式
可选值:json, yaml, text
hstring可选默认列指定显示的列,逗号分隔
helpboolean可选false显示帮助信息
localboolean可选false是否从本地节点获取信息
master_timeouttime可选30s等待主节点响应的超时时间
sstring可选-排序列
支持 :asc:desc
vboolean可选false详细模式,显示列头

返回的字段信息 #

列名别名描述默认显示
id-节点唯一 ID
namen节点名称
componentc插件组件名称
versionv插件版本
descriptiond插件详细信息

请求示例 #

# 查询所有节点的插件
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 Storage
  • repository-hdfs:HDFS 存储

发现插件 #

  • discovery-ec2:AWS EC2 发现
  • discovery-azure:Azure 发现
  • discovery-gce:Google Cloud Engine 发现

安全插件 #

  • x-pack-security:X-Pack 安全功能

使用场景 #

  1. 插件验证:确认所有节点上的插件已正确安装
  2. 版本一致性检查:确保所有节点的插件版本一致
  3. 容量规划:了解集群中安装了哪些插件
  4. 问题排查:诊断插件相关的故障
  5. 升级准备:在升级前检查插件兼容性

插件管理命令 #

列出已安装插件(命令行) #

bin/easysearch-plugin list

安装插件 #

bin/easysearch-plugin install [plugin-name]

删除插件 #

bin/easysearch-plugin remove [plugin-name]

注意事项 #

  1. 此 API 只支持 GET 方法
  2. 插件描述默认不显示,需要通过 h 参数指定
  3. 不同节点应该安装相同版本的插件
  4. 插件安装/删除需要重启节点才能生效
  5. 某些插件(如 Discovery 插件)需要在所有节点上保持一致

最佳实践 #

  1. 版本一致:确保所有节点上的插件版本一致
  2. 测试验证:在生产环境安装插件前先在测试环境验证
  3. 最小化安装:只安装必要的插件,减少安全风险
  4. 定期更新:定期更新插件到稳定版本
  5. 文档记录:记录安装的插件及其版本,便于维护

插件问题排查 #

插件不一致导致的问题 #

如果不同节点上的插件版本不一致:

  • 节点可能无法加入集群
  • 某些功能可能无法正常工作
  • 可能出现序列化/反序列化错误

检查插件一致性 #

# 按组件分组,检查各节点版本是否一致
GET /_cat/plugins?h=component,version,name

相关文档 #