admin 发表于 2016-7-22 18:35

Elasticsearch“黄色”群集状态解释

我在去年的文章中,我写了一篇关于如何开始运行在EC2上Elasticsearch。我breifly提到的群集状态切换,从黄色到绿色,并收到了评论,询问究竟这是什么意思。我准备这短暂的讨论后的黄色状态,而Elasticsearch集群健康API。

我开始之前,让我们回顾一下一些Elasticsearch术语:一个Elasticsearch 集群是由一个或多个节点。每个这些的节点中包含的索引它们分成多个碎片。Elasticsearch使得这些副本碎片称为副本。这些(初级)碎片和副本然后置于各个节点在整个群集。

得到它了?大。

要检查您的cluser的健康,我们可以使用集群健康API。
卷曲-XGET的http://本地主机:9200 / _cluster /健康漂亮=真

    {
      “CLUSTER_NAME”:“仙宫”,
      “状态”:“黄”,
      “TIMED_OUT”:假的,
      “number_of_nodes”:1,
      “number_of_data_nodes”:1,
      “active_primary_shards”:5,
      “active_shards”:5,
      “relocating_shards”:0,
      “initializing_shards”:0,
      “unassigned_shards”:5
    }

Elasticsearch提供集群健康的一个方便的“红绿灯”的分类。下面是每个选项的一个简单的解释。

红色:该死的。一些或所有的(初级)碎片还没有准备好。

黄色: Elasticsearch已分配的所有主要的碎片,但有些/所有副本都尚未分配。

格林:太好了。群集完全正常运行。Elasticsearch能够所有碎片和副本分配给机器的集群中。

目前,我们的集群健康是黄色的,这意味着碎片副本尚未分配。为什么是这样?这是因为当前群集仅由一个单一的节点,所以副本留unasigned只是因为没有其他节点可用以包含它们。我们可以通过添加另一个节点到集群解决这个问题-如果你不知道如何做到这一点然后按照我的步骤以前的文章。这个新节点将加入群集,并ElasticSearch将开始副本的分配给它。我总是喜欢看在这个过程中BigDesk,因为它直观地显示了副本复制到防空火炮的新节点。一旦ElasticSearch完成复制和分配所有副本碎片,又看看集群健康:
卷曲-XGET的http://本地主机:9200 / _cluster /健康漂亮=真

    {
       “CLUSTER_NAME”:“仙宫”,
       “状态”:“绿色”,
       “TIMED_OUT”:假的,
       “number_of_nodes”:2,
       “number_of_data_nodes”:2,
       “active_primary_shards”:5,
       “active_shards”:10,
       “relocating_shards”:0,
       “initializing_shards”:0,
       “unassigned_shards”:0
    }赢得。正如预期的那样集群状态现在报告为绿色。如果你看看在BigDesk群集,你将能够看到不同的充节点分布式翻过这些碎片和副本。

所以这是一个什么样的快速解释黄色的状态。当集群是黄色的,一切都OK了但是你的副本规则不满意:请求仍然可以成功地处理,但是如果有的话你的服务器完全地失败(和腐败),你可能会失去你的一些文件,如果你没有带得到了集群中的其他地方的数据的副本。状态将更新为绿色,一旦您的群集包含足够的节点来分配副本,或当你调整索引副本设置。

最后 删掉 nodes 就好了 但是数据没了~~~~~~~~~~~


页: [1]
查看完整版本: Elasticsearch“黄色”群集状态解释