--- title: "查询插件" date: 2026-01-04 lastmod: 2026-01-04 description: "介绍如何使用 Cat API 查询 Easysearch 集群中各节点安装的插件信息。" tags: ["Cat API", "插件", "集群管理"] summary: "此 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 可选 - 排序列" --- 此 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` | 插件详细信息 | ✗ | ## 请求示例 ```bash # 查询所有节点的插件 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 格式 ```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" } ] ``` ### 带描述信息的响应 ```bash 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. **升级准备**:在升级前检查插件兼容性 ## 插件管理命令 ### 列出已安装插件(命令行) ```bash bin/easysearch-plugin list ``` ### 安装插件 ```bash bin/easysearch-plugin install [plugin-name] ``` ### 删除插件 ```bash bin/easysearch-plugin remove [plugin-name] ``` ## 注意事项 1. 此 API 只支持 GET 方法 2. 插件描述默认不显示,需要通过 `h` 参数指定 3. 不同节点应该安装相同版本的插件 4. 插件安装/删除需要重启节点才能生效 5. 某些插件(如 Discovery 插件)需要在所有节点上保持一致 ## 最佳实践 1. **版本一致**:确保所有节点上的插件版本一致 2. **测试验证**:在生产环境安装插件前先在测试环境验证 3. **最小化安装**:只安装必要的插件,减少安全风险 4. **定期更新**:定期更新插件到稳定版本 5. **文档记录**:记录安装的插件及其版本,便于维护 ## 插件问题排查 ### 插件不一致导致的问题 如果不同节点上的插件版本不一致: - 节点可能无法加入集群 - 某些功能可能无法正常工作 - 可能出现序列化/反序列化错误 ### 检查插件一致性 ```bash # 按组件分组,检查各节点版本是否一致 GET /_cat/plugins?h=component,version,name ``` ## 相关文档 - [查询节点](./get-node.md) - [获取节点信息](./get-node-info.md) - [查询集群健康](./get-cluster-health-cat-format.md)