我在AWS EC2上使用3个节点集群运行,我的一个节点崩溃了,重启后我看到2900个未分配的分片和集群状态为红色。
我将索引配置为具有1个副本的5个分片-我不明白为什么重新启动后无法从副本中恢复分片。
我尝试使用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],而相应的主分片为 仍然 未分配的“}],”类型“:” illegal_argument_exception“,”原因“:” [allocate_replica] 试图分配副本分片[filebeat-demo00-2018.07.21] [2], 而相应的主分片仍未分配
看起来有些主碎片丢失了(磁盘上不存在),我也不知道如何将状态恢复为绿色。
谢谢
答案 0 :(得分:0)
通过使用以下API请求,确保在活动节点中启用了分片分配
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": null
}
}
还可以通过在Kibana上查看Monitoring应用程序的Indices信息来检查主要分片丢失的索引是否存在副本。
要检查正在进行的恢复过程,请使用以下API
GET /_recovery