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

此 API 用于获取 Easysearch 集群中所有活跃的 Point In Time (PIT) 上下文信息。

API #

GET /_pit/_all

API 的作用 #

获取集群中所有活跃的 PIT 上下文信息。该 API 会遍历集群中的所有节点,收集并返回所有当前的 PIT ID 及其相关信息,包括:

  • PIT ID:Base64 编码的 PIT 标识符
  • 创建时间:PIT 创建的时间戳
  • 存活时间:PIT 的 keep_alive 时长(毫秒)
  • 失败节点:获取 PIT 信息失败的节点及其错误信息(如果有)

API 的参数 #

路由参数 #

此 API 使用固定路由 /_pit/_all没有路由参数。

查询字符串参数 #

此 API 不支持任何查询字符串参数。

请求示例 #

# 查询所有 PIT
GET /_pit/_all

响应示例 #

成功响应 #

{
  "pits": [
    {
      "pit_id": "o463QQEPbXktaW5kZXgtMDAwMDAxFnNOWU43ckt3U3IyaFVpbGE1UWEtMncAFjFyeXBsRGJmVFM2RTB6eVg1aVVqQncAAAAAAAAAAAIWcDVrM3ZIX0pRNS1XejE5YXRPRFhzUQEWc05ZTjdyS3dTcjJoVWlsYTVRYS0ydwAA",
      "creation_time": 1707033600000,
      "keep_alive": 6000000
    },
    {
      "pit_id": "aBc123DEF456GhI789JKL012Mno345PQR678STU901vwx234yz",
      "creation_time": 1707033700000,
      "keep_alive": 300000
    }
  ],
  "failures": []
}

包含节点失败的响应 #

{
  "pits": [
    {
      "pit_id": "pit_id_here",
      "creation_time": 1707033600000,
      "keep_alive": 6000000
    }
  ],
  "failures": [
    {
      "node_id": "node-1",
      "error": "Failed to connect to node"
    }
  ]
}

响应字段说明 #

字段类型描述
pitsarrayPIT 信息数组(已去重)
pits.pit_idstringBase64 编码的 PIT ID
pits.creation_timelongPIT 创建的时间戳(毫秒)
pits.keep_alivelongPIT 的存活时间(毫秒)
failuresarray获取 PIT 信息失败的节点列表
failures.node_idstring失败节点的 ID
failures.errorstring错误描述

空结果响应 #

当集群中没有活跃的 PIT 时:

{
  "pits": [],
  "failures": []
}

API 工作流程 #

  1. 接收 GET 请求到 /_pit/_all 端点
  2. 创建一个包含集群所有节点的请求对象
  3. 向每个节点发送获取 PIT 信息的请求
  4. 收集所有节点的响应
  5. 对 PIT ID 进行去重处理
  6. 返回统一的响应格式

使用场景 #

  1. 监控 PIT 数量:定期检查集群中有多少活跃的 PIT
  2. 资源审计:检查哪些 PIT 可能已被遗忘但仍占用资源
  3. 问题排查:诊断 PIT 相关的问题
  4. 运维清理:识别长时间未使用的 PIT 以便清理

PIT 管理建议 #

  1. 定期检查:定期执行此 API 检查 PIT 数量
  2. 及时清理:对于不再使用的 PIT,使用 DELETE /_pit 及时删除
  3. 监控创建时间:关注创建时间过长的 PIT,可能已被遗忘
  4. 设置合理 keep_alive:根据实际需求设置 PIT 的存活时间

与相关 API 的配合 #

API功能
POST /{index}/_pit创建 PIT
GET /_pit/_all获取所有 PIT
DELETE /_pit删除指定的 PIT
DELETE /_pit/_all删除所有 PIT

注意事项 #

  1. 此 API 只支持 GET 方法
  2. 不支持任何查询字符串参数
  3. PIT ID 已进行去重处理
  4. 如果某些节点失败,会在 failures 字段中返回错误信息
  5. 此 API 会遍历所有节点,在大规模集群中可能有性能影响

相关文档 #