我有一个由 3 个节点(1 个主节点和 2 个数据节点)组成的 Elasticsearch 集群,我启用了 xpack 之后无法启动主节点。所以我运行了 elasticsearch-node re Purpose 命令。并且集群重新启动。
但现在我有未分配的分片。
analytics-2019-11-19 0 p UNASSIGNED
analytics-2019-11-19 0 r UNASSIGNED
并且集群状态为红色。我是麋鹿的新手。让我知道如何解决此问题并使集群绿色?
谢谢
最佳答案
为了解决 UNASSIGNED
分片问题,您必须按照以下步骤操作:
让我们找出哪些分片未分配,以及为什么运行:
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
让我们使用集群分配解释 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/