【问题标题】:Elasticsearch index with yellow health健康状况为黄色的 Elasticsearch 索引
【发布时间】:2020-03-23 18:48:30
【问题描述】:

我正在开发一个使用 Elasticsearch 的大型 CPython 代码库。

通常,这个代码库会创建 n 个索引和 n 个别名,这些索引和别名之间是一一对应的。

但有时,我会得到 n 个索引和 n-1 个别名,其中一个索引的名称本应由别名使用。

由于某种原因,当这种情况发生时,假索引-that-has-what-should-be-an-alias-name 为黄色状态,而其他索引均为绿色。

什么可能导致索引成为唯一的黄色索引?我希望理解这可以帮助我缩小我需要仔细检查代码的哪一部分来修复错误


编辑: 我的 elasticsearch.yml 刚刚:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "[::1]"]

在生产中我们可能有更多的 ES 节点,但这只是一个测试系统 - 所以只有一个 ES 节点。

【问题讨论】:

  • stackoverflow.com/a/60602968/4039431这个答案详细解释了黄色状态的原因,如何解决它以及它的影响是什么,如果有进一步的问题,请看看,让我知道

标签: docker elasticsearch health-monitoring


【解决方案1】:

黄色状态表示该索引的副本分片无法分配给其他节点。

这可能由于各种原因而发生。例如,如果您指定的副本数多于节点数。您需要分享更多关于集群设置以及您是否自己配置分片分配的信息。

【讨论】:

    【解决方案2】:

    Elasticsearch 永远不会将副本分配给与主分片相同的节点,因此如果您只有一个节点,这是完全正常的,并且您的集群会显示为黄色。如果你觉得它是绿色的更好,那么将每个索引上的副本数更改为 0。

    PUT /my-index/_settings
    {
        "index" : {
            "number_of_replicas" : 0
        }
    }
    

    请阅读此博客 https://opster.com/guides/elasticsearch/operations/elasticsearch-yellow-status/

    它很好地解释了如何修复黄色索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 2019-03-03
      相关资源
      最近更新 更多