Elasticsearch主碎片丢失-如何恢复?

yiytaume  于 2023-01-20  发布在  ElasticSearch
关注(0)|答案(2)|浏览(521)

我在AWS EC2上运行3节点群集,其中一个节点崩溃,重新启动后,我看到2900个未分配的碎片和群集状态为红色。
我将索引配置为具有5个碎片和1个副本-我不明白为什么重新启动后碎片没有从副本中恢复。
我尝试使用elasticsearch reroute API https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html手动迁移碎片,但出现错误:
无法取消2,无法在节点{infra-elasticsearch-1}上找到它
无法移动2,无法在节点{infra-elasticsearch-1}上找到它
[allocate_replica]尝试分配副本碎片[filebeat-demo 00 -2018.07.21][2],而对应的主碎片仍未分配”}],“类型”:“非法参数异常”,“原因”:“[allocate_replica]尝试分配副本碎片[filebeat-demo 00 -2018.07.21][2],而对应的主碎片仍未分配
它看起来像一些主要碎片丢失(不存在于磁盘上),我不知道如何将状态恢复为绿色。
谢谢

2cmtqfgy

2cmtqfgy1#

使用以下API请求,确保在活动节点中启用了碎片分配

PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": null
  }
}

您还可以通过查看Kibana上Monitoring应用程序的Indices信息来检查主碎片已丢失的索引的副本是否存在。
要检查正在进行的恢复过程中使用下面的API

GET /_recovery
6tr1vspr

6tr1vspr2#

我不知道这是否有帮助,但我刚刚重新启动了elasticsearch和kibana服务。我等了几分钟,集群健康状况在几分钟内从红色变成黄色,然后变成绿色。
在弹性群集节点上:
#systemctl restart elasticsearch.service
在kibana节点上:
#systemctl restart kibana.service

相关问题