🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Cluster Health(集群健康) 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/_cluster_health.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/_cluster_health.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=4260685](http://www.apache.wiki/pages/viewpage.action?pageId=4260685) 贡献者 : [那伊抹微笑](/display/~wangyangting),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) ## 集群健康 让我们从基本的健康检查开始,我们可以用它来看看我们的集群在做什么。我们将使用 **curl** 来做这件事情,当然您也可以使用任何允许您进行 **HTTP**/**REST** 调用的工具。假设我们在同一节点上启动了 **Elasticsearch** 并且打开了另一个命令 **shell** 窗口。 为了检查集群健康,我们将使用 [`_cat` API](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/cat.html "cat APIs")。您可以在 [Kibana’s Console](https://www.elastic.co/guide/en/kibana/master/console-kibana.html) 通过点击 “**VIEW IN CONSOLE**” 或者通过点击 “**COPY AS CURL**” 链接然后粘贴到终端中使用 **curl **中运行命令 :  ``` curl -XGET 'localhost:9200/_cat/health?v&pretty' ``` 响应如下 :  ``` epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1475247709 17:01:49 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0% ``` 我们可以看到我们名为 “**elasticsearch**” 的集群与 **green** 的 **status**。 无论何时我们请求集群健康,我们可以获得 **green**,**yellow**,或者 **red** 的 **status**。**Green** 表示一切正常(集群功能齐全), **yellow** 表示所有数据可用,但是有些副本尚未分配(集群功能齐全),**red** 意味着由于某些原因有些数据不可用。注意,集群是 **red**,它仍然具有部分功能(例如,它将继续从可用的分片中服务搜索请求),但是您可能需要尽快去修复它,因为您已经丢失数据了。 另外,从上面的响应中,我们可以看到共计 **1** 个 node(节点)和 **0** 个 shard(分片),因为我们还没有放入数据的。注意,因为我们使用的是默认的集群名称(**elasticsearch**),并且 **Elasticsearch** 默认情况下使用 **unicast network**(单播网络)来发现同一机器上的其它节点。有可能您不小心在您的电脑上启动了多个节点,然后它们全部加入到了单个集群。在这种情况下,你会在上面的响应中看到不止 1 个 **node**(节点)。 我们也可以获取我们集群的节点列表,如下所示 :  ``` curl -XGET 'localhost:9200/_cat/nodes?v&pretty' ``` 响应如下 :  ``` ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 127.0.0.1 10 5 5 4.46 mdi * PB2SGZY ``` 在这里,我们可以到我名为 “**I8hydUG**” 的节点名,这是目前在我们集群中的单个节点。