Elasticsearch 的集群监控信息中包含了许多的统计数据,其中最为重要的一项就是 集群健康 , 它在 status 字段中展示为 green 、 yellow 或者 red 。
GET http://xxxxxx/_cluster/health
在一个不包含任何索引的空集群中,它将会有一个类似于如下所示的返回内容:
{ "cluster_name": "es-cluster", "status": "green", "timed_out": false, "number_of_nodes": 1, "number_of_data_nodes": 1, "active_primary_shards": 0, "active_shards": 0, "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 }
status 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:
green
所有的主分片和副本分片都正常运行。
yellow
所有的主分片都正常运行,但不是所有的副本分片都正常运行。
red
有主分片没能正常运行。
通俗的解释上述的状态,可以概括为如下:
green
当主分片和副本分片都正常运行,并且不在同一个节点下的时候,状态为green,或者干脆是没有副本分片只有主分片正常运行的情况下,状态为green
yellow
当主分片正常运行,但是副本分片状态不正常,或者主分片和副本分片在同一个节点下的时候,该状态为yellpw, 在同一个节点上既保存原始数据又保存副本是没有意义的,因为一旦失去了那个节点,我们也将丢失该节点上的所有副本数据。
red
这个就更好理解了,就是主分片GG了