如何防止新索引的分片仅在 Elasticsearch 中的少数节点上分配?
How to prevent shards of new index from assigning on only a few nodes in Elasticsearch?
我的索引有 10 个主分片 + 1 个副本 = 总共 20 个分片
创建新的每日索引时,分片往往只分配给少数具有足够容量的节点。
发生被拒绝的操作,因为这些节点接收每个传入请求。
我想防止分片只集中在少数几个节点上。 (包括通过重新定位现有分片来重新定位磁盘)
- 集群有一些节点受水印限制,其他节点有足够的空闲 space。
是否还有任何 API 可以跨现有索引分布分片?
您的集群中似乎存在一些严重问题,未在您的集群上均匀分配分片,这可能会导致严重问题,例如
- 不平衡的节点,由于分片分布不均匀
- 加载的节点很少,可能会出现故障并导致数据丢失
- 性能问题
- 集群中拒绝的请求
我猜您已经找到或接近找到问题的根本原因,即某些节点具有高磁盘水印,这将阻止在这些节点上分配新分片,我写了一个detailed explanation on what is disk watermark issue and how to solve it
现在回答您的问题,关于任何 API 来传播分片,好消息是,它可用并称为 cluster re-route API,您应该使用它在集群中均匀地传播分片.
我的索引有 10 个主分片 + 1 个副本 = 总共 20 个分片
创建新的每日索引时,分片往往只分配给少数具有足够容量的节点。
发生被拒绝的操作,因为这些节点接收每个传入请求。
我想防止分片只集中在少数几个节点上。 (包括通过重新定位现有分片来重新定位磁盘)
- 集群有一些节点受水印限制,其他节点有足够的空闲 space。
是否还有任何 API 可以跨现有索引分布分片?
您的集群中似乎存在一些严重问题,未在您的集群上均匀分配分片,这可能会导致严重问题,例如
- 不平衡的节点,由于分片分布不均匀
- 加载的节点很少,可能会出现故障并导致数据丢失
- 性能问题
- 集群中拒绝的请求
我猜您已经找到或接近找到问题的根本原因,即某些节点具有高磁盘水印,这将阻止在这些节点上分配新分片,我写了一个detailed explanation on what is disk watermark issue and how to solve it
现在回答您的问题,关于任何 API 来传播分片,好消息是,它可用并称为 cluster re-route API,您应该使用它在集群中均匀地传播分片.