elasticsearch7.x集群API之tasks

tasks

GET /_tasks

返回集群中一个或多个节点上当前执行的任务信息。

GET /_tasks/<task_id>

返回指定的任务信息。task_id格式为node_id:task_number。

查询参数

参数说明
timeout请求超时时间,如果超时时间内没有响应,则请求失败并返回错误信息,默认30s。
wait_for_completion如果为true,则等待匹配的任务完成。默认为false。
nodes逗号分隔的节点id或节点名等。检索指定节点的任务信息。
parent_task_id指定父任务id,检索其所有子任务信息。
actions指定任务功能,返回指定功能的任务信息。接受通配符表达式。
detailed如果为true,返回任务信息中会额外包括description任务描述信息,默认为false。
group_by对返回结果进行分组,可选值为nodes(按节点分组)、none(禁用分组)、parents(按父任务分组),默认为nodes。
POST _tasks/<task_id>/_cancel

取消指定的任务(如果任务支持取消操作)。

POST _tasks/_cancel?nodes=?&actions=?

同时取消多个任务(如果任务支持取消操作),支持nodes和actions参数。

当HTTP请求头包含X-Opaque-Id时,响应头和任务信息的header中会包产X-Opaque-Id信息,可以以此跟踪某些调用或者把某些任务与启动它们的客户端关联起来。

返回信息

字段说明
node节点id。
id任务编号。
type任务类型。
action任务功能。
description任务描述信息,detailed为true时返回。
start_time_in_millis任务开始时间。
running_time_in_nanos任务执行纳秒数。
cancellable任务是否支持取消操作。
parent_task_id父任务id。
headers头信息。

 

### 查看 Elasticsearch 集群健康状态的方法 在 Elasticsearch 中,Cluster Health API 是用于快速获取集群整体运行状况的主要工具。通过该接口,用户能够了解集群的状态、分片分配情况以及其他重要指标。 #### 使用 Cluster Health API 获取集群健康状态 可以通过发送 HTTP GET 请求至 `_cluster/health` 端点来查询集群的健康状态。以下是具体方法: 1. **基本命令** 下面是一个基础示例,展示如何使用 `curl` 工具向 Elasticsearch 发送请求并获取集群健康信息: ```bash curl -X GET "http://localhost:9200/_cluster/health?pretty" ``` 这里的参数解释如下: - `-X GET`: 表明这是一个 HTTP GET 请求。 - `"http://localhost:9200"`: 替换为实际的 Elasticsearch 主机地址和端口号。 - `/ _cluster/health`: 调用 Cluster Health API 的路径。 - `?pretty`: 让返回的结果更加易读[^2]。 2. **高级选项** 如果需要更详细的控制,可以在 URL 后附加额外的查询参数。例如: - 添加 `level=shards` 参数可获得关于每个索引及其分片的具体信息。 ```bash curl -X GET "http://localhost:9200/_cluster/health?level=shards&pretty" ``` - 设置 `timeout` 参数指定等待响应的最大时间(单位为秒),防止长时间无响应的情况发生。 ```bash curl -X GET "http://localhost:9200/_cluster/health?timeout=3s&pretty" ``` 3. **局部模式下的状态检查** 默认情况下,集群状态请求会被转发到主节点以确保最新数据的一致性。然而,在某些场景下为了减少网络延迟或提高性能,可以选择启用局部模式 (`local=true`) 来直接访问发起请求的那个节点上的缓存版本的数据。 ```bash curl -X GET "http://localhost:9200/_cluster/health?local=true&pretty" ``` 此外还可以进一步细化所关心的内容范围,比如仅关注元数据或者路由表等方面的信息[^3]。 4. **理解返回结果中的关键字段** 成功执行上述任一命令之后将会收到一个 JSON 格式的回复,其中包含多个重要的属性描述整个系统的运作情形。下面列举几个常见的项目及其含义: - status: 整体健康度量标准,取值有三种可能性分别是 green(完全正常), yellow(存在部分问题但不影响核心功能) 和 red(严重错误影响正常使用)[^4]; - active_primary_shards: 当前活跃着多少个主要碎片实例数目; - relocating_shards: 正处于迁移过程当中的那些碎片的数量. ```json { "cluster_name": "elasticsearch", "status": "green", "timed_out": false, "number_of_nodes": 7, "number_of_data_nodes": 3, "active_primary_shards": 5, "active_shards": 10, "relocating_shards": 0, "initializing_shards": 0, "unassigned_shards": 0, "delayed_unassigned_shards": 0, "number_of_pending_tasks": 0, "number_of_in_flight_fetch": 0, "task_max_waiting_in_queue_millis": 0, "active_shards_percent_as_number": 100 } ``` 以上就是针对您提出的 “如何在 Elasticsearch 中查看集群健康状态”的解答方案说明文档内容总结完毕!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值