健康状况为黄色的 Elasticsearch 索引
Elasticsearch index with yellow health
我正在开发一个使用 Elasticsearch 的大型 CPython 代码库。
正常情况下,这个代码库会创建n个索引和n个别名,这些索引和别名是一一对应的。
但偶尔我会得到 n 个索引和 n-1 个别名,其中一个索引的名称本应由别名使用。
出于某种原因,当发生这种情况时,伪造的索引 - 具有 - 应该是 - 别名 - 名称的状态为黄色,而其他索引均为绿色。
什么可能导致索引成为唯一的黄色索引?我希望理解这一点可以帮助我缩小需要仔细检查的代码部分以修复错误的范围
编辑:
我的 elasticsearch.yml 刚刚:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "[::1]"]
在生产中我们可能有更多的 ES 节点,但这只是一个测试系统 - 所以只有一个 ES 节点。
黄色状态表示该索引的副本分片无法分配给其他节点。
发生这种情况的原因有多种。例如,如果您指定的副本数多于节点数。您需要分享更多关于您的集群设置以及您是否自行配置分片分配的信息。
Elasticsearch 永远不会将副本分配给与主分片相同的节点,因此如果您只有一个节点,这是完全正常的,并且您的集群预计会显示黄色。如果你觉得它是绿色的更好,那么将每个索引上的副本数更改为0。
PUT /my-index/_settings
{
"index" : {
"number_of_replicas" : 0
}
}
请阅读此博客
https://opster.com/guides/elasticsearch/operations/elasticsearch-yellow-status/
它很好地解释了如何修复黄色索引。
我正在开发一个使用 Elasticsearch 的大型 CPython 代码库。
正常情况下,这个代码库会创建n个索引和n个别名,这些索引和别名是一一对应的。
但偶尔我会得到 n 个索引和 n-1 个别名,其中一个索引的名称本应由别名使用。
出于某种原因,当发生这种情况时,伪造的索引 - 具有 - 应该是 - 别名 - 名称的状态为黄色,而其他索引均为绿色。
什么可能导致索引成为唯一的黄色索引?我希望理解这一点可以帮助我缩小需要仔细检查的代码部分以修复错误的范围
编辑: 我的 elasticsearch.yml 刚刚:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "[::1]"]
在生产中我们可能有更多的 ES 节点,但这只是一个测试系统 - 所以只有一个 ES 节点。
黄色状态表示该索引的副本分片无法分配给其他节点。
发生这种情况的原因有多种。例如,如果您指定的副本数多于节点数。您需要分享更多关于您的集群设置以及您是否自行配置分片分配的信息。
Elasticsearch 永远不会将副本分配给与主分片相同的节点,因此如果您只有一个节点,这是完全正常的,并且您的集群预计会显示黄色。如果你觉得它是绿色的更好,那么将每个索引上的副本数更改为0。
PUT /my-index/_settings
{
"index" : {
"number_of_replicas" : 0
}
}
请阅读此博客 https://opster.com/guides/elasticsearch/operations/elasticsearch-yellow-status/
它很好地解释了如何修复黄色索引。