elasticsearch - 执行elasticsearch re Purpose命令后未分配的分片

标签 elasticsearch

我有一个由 3 个节点(1 个主节点和 2 个数据节点)组成的 Elasticsearch 集群,我启用了 xpack 之后无法启动主节点。所以我运行了 elasticsearch-node re Purpose 命令。并且集群重新启动。

但现在我有未分配的分片。

analytics-2019-11-19 0     p      UNASSIGNED
analytics-2019-11-19 0     r      UNASSIGNED

并且集群状态为红色。我是麋鹿的新手。让我知道如何解决此问题并使集群绿色?

谢谢

最佳答案

为了解决 UNASSIGNED 分片问题,您必须按照以下步骤操作:

  1. 让我们找出哪些分片未分配,以及为什么运行:

    curl -XGET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED
    

    通过 Kibana

    GET _cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED
    
  2. 让我们使用集群分配解释 API 来尝试获取有关分片分配问题的更多信息

    curl -XGET localhost:9200/_cluster/allocation/explain?pretty
    

    通过 Kibana

    GET _cluster/allocation/explain?pretty
    

生成的输出将提供有用的详细信息,说明为什么集群中的某些分片仍未分配。

例如:

您可能会看到以下解释:“解释”:“无法将分片分配到已存在分片副本的同一节点” 这意味着有一个您不再需要的索引,您可以删除它以将集群状态恢复为绿色。

如果这不是问题(示例),则可能是以下原因之一:

-Shard allocation is purposefully delayed
-Too many shards, not enough nodes
-You need to re-enable shard allocation
-Shard data no longer exists in the cluster
-Low disk watermark
-Multiple Elasticsearch versions

Follow this guide to resolve unassigned shards issue

希望这有帮助

关于elasticsearch - 执行elasticsearch re Purpose命令后未分配的分片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58938176/

相关文章:

javascript - Elasticsearch 发送 get 请求而不是 post

elasticsearch - 如何使用 go 在 Elasticsearch 中按嵌套对象对文档进行排序?

elasticsearch - 无法在端口 5601 上加载 Kibana

php - Elasticsearch多个术语/过滤器

elasticsearch - Elasticsearch-范围查询工作错误

python - Elasticsearch滚动上限-python api

elasticsearch 阻止使用 PostMan 插入数据

elasticsearch - 你如何在 Elasticsearch 中突出显示 span_near 查询?

elasticsearch - 索引字段以进行短语搜索和部分匹配

typescript - elasticsearch 更新给出未知字段错误