所有分片都失败了

use*_*531 28 elasticsearch

我正在进行弹性搜索,它工作得很好.今天我刚刚重启了我的远程服务器(Ubuntu).现在我在索引中搜索,它给了我这个错误.

{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed]","status":503}
Run Code Online (Sandbox Code Playgroud)

我还检查了健康状况.状态为红色.谁能告诉我这是什么问题.

mco*_*lin 28

在重新启动时,某些分片无法恢复,导致群集保持红色.
如果你点击:
http://<yourhost>:9200/_cluster/health/?level=shards你可以寻找红色碎片.

我在重新启动时遇到问题,其中分片最终处于不可恢复状态.我的解决方案是完全删除该索引.这对每个人来说都不是理想的解决方案.

使用像Elasticsearch Head这样的插件可视化此类问题也很不错


Pau*_*tor 12

如果出于某种原因运行单个节点群集,则可能只需要执行以下操作:

curl -XPUT -H 'Content-Type: application/json' 'localhost:9200/_settings' -d '
{
    "index" : {
        "number_of_replicas" : 0
    }
}'
Run Code Online (Sandbox Code Playgroud)


Ami*_*wal 7

首先,所有分片失败的异常并不像听起来那么引人注目,这意味着分片在服务请求(查询或索引)时失败,并且可能有多种原因,例如

  1. 分片实际上处于不可恢复的状态,如果你的集群和索引状态是黄色和红色,那么这就是原因之一。
  2. 由于后台发生了一些分片恢复,分片没有响应。
  3. 由于查询语法错误,ES 在所有分片中响应均失败。

为了解决该问题,您需要将其过滤到上述类别之一,并根据需要进行适当的修复。

问题中提到的问题显然在第一个存储桶中,因为集群运行状况为红色,意味着缺少一个或多个主分片,我的这个答案将帮助您解决红色集群问题,这将修复此中的所有分片异常案件。