文章目录
Elasticsearch Tasks管理
1. 查询Tasks
Tasks管理 API 返回有关当前在集群中的一个或多个节点上执行的Tasks的信息。如果启用了 Elasticsearch 安全功能,则必须具有monitor或 manage 集群权限才能使用此 API。
基本语法:
GET /_tasks/<task_id>
GET /_tasks
可选参数:
<task_id>:(可选,字符串)要返回的Tasks的 ID ( node_id:task_number)。
actions: (可选,字符串)用于限制请求的操作的逗号分隔列表或通配符表达式。省略此参数以返回所有操作。
detailed: (可选,布尔值)如果true,则响应包含有关分片恢复的详细信息。默认为false.
group_by: (可选,字符串)用于在响应中对Tasks进行分组的键。值可为节点ID的nodes、父TasksID的parents以及不要将Tasks分组的none选项。
node_id: (可选,字符串)用于限制返回信息的节点 ID 或名称的逗号分隔列表。
parent_task_id:(可选,字符串)用于限制返回信息的父Tasks ID。要返回所有Tasks,请省略此参数或使用-1.
master_timeout:(可选,时间单位)等待连接到主节点的时间段。如果在超时到期之前没有收到响应,则请求失败并返回错误。默认为 30s.
timeout: (可选,时间单位)等待响应的时间段。如果在超时到期之前没有收到响应,则请求失败并返回错误。默认为30s.
wait_for_completion:(可选,布尔值)如果true,请求会阻塞,直到操作完成。默认为false.
1. 列出集群中的所有Tasks
# 示例1:列出集群中的所有Tasks
# curl -X GET "<ES_HOST>:<ES_PORT>/_cat/tasks?detailed&pretty"
...
1626071368472 14:29:28 1h <ES_HOST> <ES_HOST>-<ES_PORT> indices[idx-receiver-message-8], types[], search_type[QUERY_THEN_FETCH], source[{
"query":{
"bool":{
"must":[{
"bool":{
"should":[{
"term":{
"messageTypeId":{
"value":1,"boost":1.0}}},{
"term":{
"messageTypeId":{
"value":8,"boost":1.0}}},{
"term":{
"messageTypeId":{
"value":6,"boost":1.0}}},{
"term":{
"messageTypeId":{
"value":5,"boost":1.0}}},{
"term":{
"messageTypeId":{
"value":31,"boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}},{
"bool":{
"should":[{
"wildcard":{
"messageTitle.keyword":{
"wildcard":"*02505520250284839.8408285082685082684028850258208.26582268250092518509480092590868522588158625505177284,582480.9582548,+74852.9680804]]]*","boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}}],"filter":[{
"term":{
"messageReceiverId":{
"value":"1500000100079250006","boost":1.0}}},{
"term":{
"messageDeleteFlag":,{
"term":{
"messageDeleteFlag":{
"value":0,"boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}}}]
...
cluster:monitor/tasks/lists[n] mzRuQoWKS1qyedpo1cBslQ:399587410 c4caXoXdT1iMKt8Q0j4zvA:487053745 netty 1626075016906 15:30:16 146micros <ES_HOST> <ES_HOST>-<ES_PORT>
# curl -X GET "<ES_HOST>:<ES_PORT>/_tasks?pretty"
...
...
"c4caXoXdT1iMKt8Q0j4zvA:486794600" : {
"node" : "c4caXoXdT1iMKt8Q0j4zvA",
"id" : 486794600,
"type" : "transport",
"action" : "indices:data/write/update/byquery",
"start_time_in_millis" : 1626071434300,
"running_time_in_nanos" : 2577895144961,
"cancellable" : true
},
"c4caXoXdT1iMKt8Q0j4zvA:486847848" : {
"node" : "c4caXoXdT1iMKt8Q0j4zvA",
"id" : 486847848,
"type" : "transport",
"action" : "indices:data/read/search",
"start_time_in_millis" : 1626073170216,
"running_time_in_nanos" : 841978830953,
"cancellable" : true
},
"c4caXoXdT1iMKt8Q0j4zvA:486827368" : {
"node" : "c4caXoXdT1iMKt8Q0j4zvA",
"id" : 486827368,
"type" : "transport",
"action" : "indices:data/write/update/byquery",
"start_time_in_millis" : 1626072450210,
"running_time_in_nanos" : 1561985206301,
"cancellable" : true
},
...
2. 列出集群中待处理的Tasks
返回尚未执行的任何集群级别更改(例如创建索引、更新映射、分配或失败分片)的列表。这些与Tasks管理 API报告的Tasks不同, 其中包括定期Tasks和用户发起的Tasks,例如节点统计、搜索查询或创建索引请求。但是,如果用户启动的Tasks(例如 create index 命令)导致集群状态更新,则此Tasks的活动可能会同时由Tasks API 和待处理的集群Tasks API 报告。
# 示例1:列出集群中待处理的Tasks
# curl '<ES_HOST>:<ES_PORT>/_cat/pending_tasks?v'
{
"tasks": [
{
"insert_order": 101,
"priority": "URGENT",
"source": "create-index [foo_9], cause [api]",
"executing" : true,
"time_in_queue_millis": 86,
"time_in_queue": "86ms"
},
{
"insert_order": 46,
"priority": "HIGH",
"source": "shard-started ([foo_2][1], node[tMTocMvQQgGCkj7QDHl3OA], [P], s[INITIALIZING]), reason [after recovery from shard_store]",
"executing" : false,
"time_in_queue_millis": 842,
"time_in_queue": "842ms"
},
{
"insert_order": 45,
"priority": "HIGH",
"source": "shard-started ([foo_2][0], node[tMTocMvQQgGCkj7QDHl3OA], [P], s[INITIALIZING]), reason [after recovery from shard_store]",
"executing" : false,
"time_in_queue_millis": 858,
"time_in_queue": "858ms"
}
]
}
注1:输出列表释义如下:
tasks:(对象)待处理Tasks的列表。
insert_order:(整数)表示Tasks何时被插入Tasks队列的数字。
priority:(字符串)待处理Tasks的优先级。按优先级降序排列的有效优先级是:IMMEDIATE> URGENT> HIGH> NORMAL> LOW> LANGUID。
source:(字符串)集群Tasks的一般描述,可能包括原因和来源。
executing:(布尔值)真或假,指示待处理的Tasks当前是否正在执行。
time_in_queue_millis:(整数)自Tasks等待执行以来以毫秒表示的时间。
time_in_queue:(字符串)自Tasks等待执行以来的时间。
注2:大部分情况下该请求将返回一个空列表,因为集群级别的更改很快。
3. 查询指定节点上的Tasks
# 示例1:查询指定节点上的Tasks
1)查看集群节点信息
# curl -XGET http://<ES_HOST>:<ES_PORT>/_cluster/state/nodes?pretty
{
"cluster_name" : "aimescenter_es_cluster",
"compressed_size_in_bytes" : 10100,
"nodes" : {
"c4caXoXdT1iMKt8Q0j4zvA" : {
"name" : "<ES_HOST>-<ES_PORT>",
"ephemeral_id" : "_NHgESJsQSqo92S4Mss7Wg",
"transport_address" : "<ES_HOST>:10702",
"attributes" : {
}
},
"V8J66mq3ScaRtOh-b9u0Fw" : {
"name" : "<ES_HOST>-<ES_PORT>",
"ephemeral_id" : "UgB2-d_MR8eB32RR1SoAxA",
"transport_address" : "<ES_HOST>:10702",
"attributes" : {
}
},
"mzRuQoWKS1qyedpo1cBslQ" : {
"name" : "<ES_HOST>-<ES_PORT>",
"ephemeral_id" : "fTFsKczSRWyEfLF6-CwCdQ",
"transport_address" : "<ES_HOST>:10702",
"attributes" : {
}
}
}
}
2)查看ES节点 c4caXoXdT1iMKt8Q0j4zvA 和ES节点 V8J66mq3ScaRtOh-b9u0Fw 以及ES节点 mzRuQoWKS1qyedpo1cBslQ 上的Tasks
# curl -X GET "<ES_HOST>:<ES_PORT>/_tasks?nodes=c4caXoXdT1iMKt8Q0j4zvA,V8J66mq3ScaRtOh-b9u0Fw,mzRuQoWKS1qyedpo1cBslQ&pretty"
...
"mzRuQoWKS1qyedpo1cBslQ:399389497" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399389497,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626073963679,
"running_time_in_nanos" : 211179961755,
"cancellable" : true,
"parent_task_id" : "V8J66mq3ScaRtOh-b9u0Fw:438188531"
},
"mzRuQoWKS1qyedpo1cBslQ:399297851" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297851,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071370660,
"running_time_in_nanos" : 2804198282917,
"cancellable" : true,
"parent_task_id" : "c4caXoXdT1iMKt8Q0j4zvA:486792710"
},
"mzRuQoWKS1qyedpo1cBslQ:399293627" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399293627,
"type" : "transport",
"action" : "indices:data/read/search",
"start_time_in_millis" : 1626071065241,
"running_time_in_nanos" : 3109617153826,
"cancellable" : true
},
"mzRuQoWKS1qyedpo1cBslQ:399297595" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297595,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071345633,
"running_time_in_nanos" : 2829225970931,
"cancellable" : true,
"parent_task_id" : "V8J66mq3ScaRtOh-b9u0Fw:438190174"
},
"mzRuQoWKS1qyedpo1cBslQ:399297716" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297716,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071356774,
"running_time_in_nanos" : 2818084748838,
"cancellable" : true,
"parent_task_id" : "c4caXoXdT1iMKt8Q0j4zvA:486792430"
},
"mzRuQoWKS1qyedpo1cBslQ:399297460" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297460,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071336608,
"running_time_in_nanos" : 2838251103151,
"cancellable" : true,
"parent_task_id" : "V8J66mq3ScaRtOh-b9u0Fw:438190009"
},
"mzRuQoWKS1qyedpo1cBslQ:399297461" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297461,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071336608,
"running_time_in_nanos" : 2838251098986,
"cancellable" : true,
"parent_task_id" : "V8J66mq3ScaRtOh-b9u0Fw:438190009"
},
"mzRuQoWKS1qyedpo1cBslQ:399297462" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297462,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071336608,
"running_time_in_nanos" : 2838251079137,
"cancellable" : true,
"parent_task_id" : "V8J66mq3ScaRtOh-b9u0Fw:438190009"
},
"mzRuQoWKS1qyedpo1cBslQ:399297714" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297714,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" : 1626071356774,
"running_time_in_nanos" : 2818084940419,
"cancellable" : true,
"parent_task_id" : "c4caXoXdT1iMKt8Q0j4zvA:486792430"
},
"mzRuQoWKS1qyedpo1cBslQ:399297715" : {
"node" : "mzRuQoWKS1qyedpo1cBslQ",
"id" : 399297715,
"type" : "netty",
"action" : "indices:data/read/search[phase/query]",
"start_time_in_millis" :