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

API 状态说明 #

在 Easysearch 中,没有 GET /_nodes/liveness REST API 端点

实际情况 #

节点存活状态(liveness)功能是通过 Transport 层实现的内部 API,主要用于:

  • 节点之间的内部通信
  • 客户端连接时的节点发现和验证
  • 集群发现和节点验证过程

内部 Action #

  • Action 名称cluster:monitor/nodes/liveness
  • 处理器TransportLivenessAction
  • 请求类LivenessRequest(空请求,无需参数)
  • 响应类LivenessResponse

替代方案 #

如果您需要检查节点的存活状态,可以使用以下 REST API:

GET /_cluster/health #

查询集群整体健康状态:

GET /_cluster/health

GET /_cat/health #

使用 Cat API 查看集群健康:

GET /_cat/health?v

GET /_cat/nodes #

查看所有节点的状态:

GET /_cat/nodes?v

节点存活检查功能 #

虽然 GET /_nodes/liveness REST API 不存在,但节点存活检查功能仍然有效:

  1. 内部通信:节点之间通过 Transport 层进行存活检查
  2. 客户端连接:客户端连接时自动验证节点存活
  3. 安全豁免:在安全模块中被豁免安全检查

安全特性 #

SecurityRequestHandler.java 中,cluster:monitor/nodes/liveness 被标记为豁免安全检查的内部 API:

if(task.getAction().equals("cluster:monitor/nodes/liveness")) {
    super.messageReceivedDecorate(request, handler, transportChannel, task);
    return;
}

这确保了节点存活检查即使在安全配置异常时也能正常工作。

推荐的替代 API #

健康检查端点 #

# 查询集群健康状态
GET /_cluster/health

# 查询集群健康状态(带详细)
GET /_cluster/health?pretty

节点信息端点 #

# 查询所有节点信息
GET /_nodes

# 查询节点统计信息
GET /_nodes/stats

# 查询节点信息
GET /_nodes/info

注意事项 #

  1. GET /_nodes/liveness REST API 在 Easysearch 中不存在
  2. 节点存活功能通过 Transport 层实现
  3. 建议使用 _cluster/health_cat/nodes 进行健康检查
  4. 内部的存活检查对用户透明,无需手动调用

相关文档 #