elasticsearch
resource_error
ai_generated
partial
集群健康状态: RED, 未分配分片=5, 原因=由于机架感知约束导致分配失败
ClusterHealthResponse: status=RED, unassigned_shards=5, reason=ALLOCATION_FAILED due to [1] shards not allocated because of rack awareness constraints
ID: elasticsearch/primary-shard-not-allocated-due-to-rack-awareness
78%修复率
85%置信度
1证据数
2024-03-15首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 7.17.10 | active | — | — | — |
| 8.11.0 | active | — | — | — |
| 8.12.2 | active | — | — | — |
根因分析
机架感知分配过滤阻止主分片分配,因为所需机架中没有节点具有足够的磁盘空间或可用。
English
Rack awareness allocation filtering prevents primary shard allocation because no node in the required rack has enough disk space or is available.
官方文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html#cluster-allocation-awareness解决方案
-
临时禁用机架感知分配过滤:PUT _cluster/settings { "transient": { "cluster.routing.allocation.awareness.attributes": "" } },分片分配后再重新启用 -
在所需机架中添加一个节点并确保其有足够的磁盘空间,然后使用集群重路由API:POST _cluster/reroute?retry_failed=true
无效尝试
常见但无效的做法:
-
65% 失败
The issue is not overall disk space but the specific rack's node availability; increasing space on nodes in other racks does not satisfy the allocation filter
-
80% 失败
Re-creating the index with fewer shards does not address the rack awareness constraint; the new primary shards will still fail to allocate if the same rack is unavailable