当前位置: 首页 > 知识库问答 >
问题:

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

景品
2023-03-14

我在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}上找不到它

[allocate_replica]尝试分配副本碎片[filebeat-demo00-2018.07.21][2],而对应的主碎片仍未分配“}],”type“:”illegal_argument_exception“,”reason“:”[allocate_replica]尝试分配副本碎片[filebeat-demo00-2018.07.21][2],而对应的主碎片仍未分配

它看起来像是一些主要的碎片丢失了(不存在于磁盘上),我不知道如何状态回到绿色。

谢谢

共有1个答案

荣声
2023-03-14

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

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

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

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

GET /_recovery
 类似资料:
  • 我有一个应用程序有一个主活动加载一个导航抽屉,一对碎片加载在该活动中...在导航抽屉中,我有4个选项a、B、C和D...第一个加载碎片a在我的活动上,最后3个加载碎片B。 FragmentA显示元素列表,在选择其中一个元素后,FragmentB用于加载其内容...当从FragmentA启动时,我想将FragmentB上的home(Hamburger/Drawer)图标更改为up图标(并将相应的行为

  • 我有一个包含4个节点的ES集群: 我不得不重新启动search03,当它回来时,它没有问题地重新加入了集群,但是留下了7个未分配的碎片。 现在我的集群处于黄色状态。解决这个问题最好的办法是什么? 删除(取消)碎片? 将碎片移动到另一个节点? 将碎片分配给节点? 将“number_of_replicas”更新为2? 完全是其他吗? 有趣的是,当添加了一个新的索引时,该节点开始处理它,并与集群的其余部

  • 我有一个活动,它在onCreate中加载一个片段(比如Fragment1)。当用户按下Fragment1中的按钮时,我用一个新片段替换Fragment1,比如Fragment2。问题是,在Fragment2中更改方向时,会重新创建活动,并显示Fragment1而不是Fragment2。(因为我在onCreate中创建了Fragment1)我如何坚持Fragment2并在方向更改时保持其状态? 谢谢

  • 问题内容: 我有一个具有4个节点的ES集群: 我不得不重新启动search03,当它回来时,它又重新加入了群集,没有问题,但是留下了7个未分配的碎片。 现在,我的集群处于黄色状态。解决此问题的最佳方法是什么? 删除(取消)分片? 将分片移动到另一个节点? 将分片分配给节点? 将“ number_of_replicas”更新为2? 还有其他东西吗? 有趣的是,当添加新索引时,该节点开始在该节点上工作

  • centOS上的elasticsearch 1.7.x 我们的三节点集群变成了两节点集群。一切都很好。每个碎片我们都有3个复制品,所以我们都有了。 但现在集群运行状况是黄色的,我们有: 我们已经将ElasticSearch.yml中的副本计数设置更改为1(从2)并在两个节点上重新启动ES。这没有什么区别。 下一步是什么? 我看到了如何重新分配碎片,但没有看到如何消除未分配的碎片。

  • 我创建了一个全新的项目来展示我的问题。基本上,我的片段有两个。在使用CreateView时,我总是使用。但是,如果我检查,然后通过按后退按钮向外导航,下次打开它时,它会自动检查。那种行为打破了我的逻辑。 MainActivity.java weirdfragment.java 因此,我可以看到它是onRestoreInstanceState检查我的。但我不知道如何预防。我正在考虑的事情: 在OnV