Py学习  »  Elasticsearch

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

Tomer Lev • 4 年前 • 347 次点击  

我在aws ec2上运行的是3节点集群,其中一个节点崩溃了,重启后我看到2900个未分配的碎片和集群状态为红色。

我将索引配置为有5个碎片和1个副本,我不明白为什么重新启动后碎片不会从副本中恢复。

我试着用elasticsearch重新路由api手动迁移碎片 https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html 但有错误:

无法取消2,在节点{infra-elasticsearch-1}上找不到它

无法移动2,在节点{infra-elasticsearch-1}上找不到它

[分配副本]尝试分配副本碎片 [filebeat-demo00-2018.07.21][2],对应的主碎片为 仍然 “unassigned”},“type”:“非法的\u参数\u异常”,“原因”:“[分配\u副本] 正在尝试分配副本碎片[filebeat-demo00-2018.07.21][2], 而对应的主碎片仍未分配

看起来有些主碎片丢失了(磁盘上不存在),我不知道如何将状态恢复为绿色。

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40233
 
347 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Srikanta
Reply   •   1 楼
Srikanta    5 年前

使用下面的api请求确保在活动节点中启用shard分配

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

您还可以通过查看kibana上监控应用程序的索引信息来检查其主碎片已丢失的索引是否存在副本。

要检查正在进行的恢复过程,请使用以下API

GET /_recovery