我在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],而对应的主碎片仍未分配
它看起来像一些主要碎片丢失(不存在于磁盘上),我不知道如何将状态恢复为绿色。
谢谢
2条答案
按热度按时间2cmtqfgy1#
使用以下API请求,确保在活动节点中启用了碎片分配
您还可以通过查看Kibana上Monitoring应用程序的Indices信息来检查主碎片已丢失的索引的副本是否存在。
要检查正在进行的恢复过程中使用下面的API
6tr1vspr2#
我不知道这是否有帮助,但我刚刚重新启动了elasticsearch和kibana服务。我等了几分钟,集群健康状况在几分钟内从红色变成黄色,然后变成绿色。
在弹性群集节点上:
#systemctl restart elasticsearch.service
在kibana节点上:
#systemctl restart kibana.service