为什么Elasticsearch索引的健康状态显示为“黄色”?

rlcwz9us  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(115)

我们正在使用Docker镜像学习Elasticsearch,所以我们不认为其中涉及任何集群。
我们通过命令GET _cat/indices/_all检查了索引的状态,健康状况显示为“黄色”。

GET _cat/indices/_all命令输出示例:

yellow open logstash                     bNGIURXyQmWyPjFjWMOILQ 1 1    200    0 193.8kb 193.8kb
yellow open my-index-000001_bak_20230706 YJc1kqTTTt6WwQMX2Gz9kA 1 1 111113    0  80.8mb  80.8mb
yellow open my-index-000001              tjkcic-4SPyym0SP0GOkNA 3 2 111113 1689  78.1mb  78.1mb

字符串
此外,我们还通过其他测试收集了更多信息:

  • 删除索引,然后通过以下命令重新创建新索引。然而,重新创建的指数仍然具有“黄色”的健康。
DELETE /my-index-000001
PUT /my-index-000001

  • 通过命令GET /_cat/indices/my-index-000001?v=true&h=index,shards检查索引中的分片数。但是,下面的输出似乎不包含任何shards信息。
index
my-index-000001

我们的问题:

我们想知道为什么指数的健康状况是“黄色”。

xtfmy6hx

xtfmy6hx1#

我们现在理解了索引健康状态中的“黄色”状态。感谢@gino-mempin的指导。
使用以下命令,我们发现number_of_replicas的默认设置为1,因此我们的系统没有足够的节点来满足副本的分配。

GET /my-index-000001/_settings?include_defaults=true&filter_path=my-index-000001.settings.index.number_of_replicas
# Result:
# {
#   "my-index-000001": {
#     "settings": {
#       "index": {
#         "number_of_replicas": "1"
#       }
#     }
#   }
# }

字符串
我们遵循this post并将值更改为零,以便系统不再查找副本。然后,索引健康状态变为绿色。

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

GET _cat/indices/_all
# yellow open test            YUBT2IhRQGSnnIFPrtaI_Q 1 1 257303     0 162.7mb 162.7mb
# green  open my-index-000001 J_ttsV5kRrSnX5_iufQD-Q 1 0 257306 21010 162.1mb 162.1mb


再次感谢你的帮助。

相关问题