Cluster Health

 

三种状态

red: 表示至少丢失1个主分片(和所有的备份),这意味着我们集群丢失了数据,查询结果将不再完整,索引数据时会抛出异常
yellow: 表示所有分片都被分配,但是部分副本缺失,没有数据丢失,查询结果也是完整的。但在HA存在一定程度安全隐患,如果再丢失一部分主分片可能导致数据丢失。
green: 表示所有分片和副本都被分配, 集群状态正常
 
索引级状态由最坏的分片状态控制。 
集群状态由最差索引状态控制
 

请求参数

level                    cluster, indices or shards,返回健康状态的细节,默认是集群
wait_for_status          green, yellow or red,将等待集群的状态变为为提供的或更好的状态(直到提供超时),即绿色>黄色>红色。 默认不等待任何状态。
wait_for_active_shards   一个数字,控制要等待多少活动分片,全部等待集群中的所有分片处于活动状态,默认为0,不等待
timeout                  超时,默认30s
local                    如果为true则返回本地节点信息,并且不提供主节点的状态。 默认值:false。 
 
 

查看集群状态

GET _cluster/health?pretty
 
{
  "cluster_name" : "testcluster",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,                  # 集群所有节点数
  "number_of_data_nodes" : 1,             # 集群所有数据节点数 
  "active_primary_shards" : 5,            # 集群所有索引的主分片数
  "active_shards" : 5,                    # 集群所有索引的主分片数
  "relocating_shards" : 0,                # 表示当前集群分片从一个节点转移到另一个节点的分片数,这个值一般情况为0,但是可能会增加,当ES集群不平衡时会存在这种情况,比如一个新节点的加入或一个几点关闭。
  "initializing_shards" : 0,              # 表示分片在创建初期的分片数
  "unassigned_shards" : 5,                # 未分配分片数
  "delayed_unassigned_shards": 0,         # 延迟的没有分配数据的分片
  "number_of_pending_tasks" : 0,          # pending状态的任务
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 50.0
}

 

 
 
查看索引的监控状态
GET /_cluster/health/test1,test2
 
api调用将会被阻塞直到集群返回green状态时
GET /_cluster/health?wait_for_status=green&timeout=50s

 

posted @ 2017-09-16 16:07  跟随心走  阅读(357)  评论(0编辑  收藏  举报