社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Elasticsearch

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

Tomer Lev • 5 年前 • 492 次点击  

我在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
 
492 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Srikanta
Reply   •   1 楼
Srikanta    6 年前

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

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

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

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

GET /_recovery