首页/数据/NoSQL 速查/_cat/plugins 查看节点插件
Elasticsearch89 条

_cat/plugins 查看节点插件

插件按节点安装:_cat/plugins 列出每个节点已加载的插件名/版本/描述,用于核对集群各节点插件版本是否一致。

NoSQL 速查数据更新于 2026-10-13

这个接口查什么

_cat/plugins 是 Elasticsearch cat API 的子接口,按节点逐行列出已加载插件的组件名、版本与描述。插件以节点为单位安装,同一个集群里各节点的插件清单可能不同;遇到「某个功能只在部分节点报错」「快照仓库在个别节点注册失败」这类现象,第一步就是拉这份清单,确认各节点的组件与版本是否齐全一致。

基本信息

适用平台Elasticsearch 7.x / 8.x、OpenSearch(接口名相同)
请求形式GET /_cat/plugins?v&h=name,component,version&s=component
权限要求集群 monitor 或 manage 权限
返回列name、component、version、description、type
安装方式每台节点执行 bin/elasticsearch-plugin install <组件>,然后重启该节点

典型使用场景

  • 核对各节点组件集合是否一致,定位「只有部分节点报错」的依赖缺失
  • 确认 repository-s3 等仓库类插件在所有节点都装齐,否则快照注册与恢复会失败
  • 排查中文分词等分析插件只在个别节点生效,导致同一查询在不同节点返回不同结果
  • 审计插件来源与版本,评估升级兼容性与安全面
  • 滚动升级后逐个节点确认插件已按目标版本加载,而不是凭记忆推断

查询与交叉核对

查询与交叉核对
# 列出所有节点的插件,-v 带列名
curl -s 'http://es1:9200/_cat/plugins?v'

# 只取组件与版本并按组件排序,一眼看出哪些节点缺装或版本不同
curl -s 'http://es1:9200/_cat/plugins?v&h=name,component,version&s=component'

# 只看单个节点的插件清单
curl -s 'http://es1:9200/_cat/plugins/es2?v'

# 与节点清单交叉验证:两个接口的 name 列应当能一一对上
curl -s 'http://es1:9200/_cat/nodes?v&h=name,ip,version,node.role'

输出逐列读法

列含义正常与异常表现
name节点名应与 _cat/nodes 的节点名完全一致;出现陌生名字说明集群混进了非预期节点
component插件组件名同一集群所有节点该列取值集合应当相同,不同即为安装不一致
version插件版本必须与节点版本一致;升级后仍显示旧版本说明该节点未重启或插件未替换
description插件自述信息为空多见于第三方插件未写属性,不影响功能
type插件类别如 analysis、repository,用于快速过滤关注的类别
插件版本必须与节点版本严格对应,跨大版本安装会被直接拒绝;升级前先卸载不兼容的第三方插件,升级完成后再按目标版本重装并重启。
生产集群不要安装来源不明的插件:插件代码运行在节点进程内,拥有节点的全部权限,等同于把代码执行能力交给外部。

易错点

  • 只给部分节点装插件:依赖该插件的索引或快照在这些节点上失败,而集群状态仍是 green,问题被推迟到业务侧才暴露
  • 在滚动升级写到一半时对比插件版本,得出「版本不一致」的错误结论:此时节点本就处于不同阶段,应在升级窗口结束后再核对
  • 把空的插件列表当成接口不可用:实际是没有装任何插件,可用 _cat/health 与 _cat/nodes 交叉确认接口正常
  • 升级前忘记卸载不兼容插件,节点启动直接失败,白白多花一轮回滚与重启时间

数据来源与参考

  • Elasticsearch Guide: cat plugins API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌