即使是不成熟的尝试,也胜于胎死腹中的策略。

ES在分配shard的时候设置了total_shards_per_node,分配规则出现问题?

Elasticsearch | 作者 zmc | 发布于2020年07月23日 | 阅读数:4169

ES在分配shard的时候设置了total_shards_per_node,分配规则出现问题导致yellow的情况。这种情况要怎么处理呢
 

aaaa.png

 
 
貌似是分配规则出现的问题,重新retry也没有用,可以怎么处理这种情况呢
已邀请:

shwtz - 学物理想做演员的IT男

赞同来自: zmc

这个问题我遇到过,而且我设置total_shards_per_node的时候,基本上一定会出现个别索引主副分片因为只剩一个节点可以分配导致副本无法分配的现象。
 
我的解决办法是把total_shards_per_node值设置为比平均数大1个,比如3个节点,3个分片(带上副本一共6个), total_shards_per_node=3,这样就不会出现这个问题。
 
由于es集群的均衡策略会尽可能使每个节点的分片总数差不多,所以整体来看,这样问题不大。
 
如果不这么设置的话,基本上每天都要去做手动allocation的操作,烦得不得了。
 
 
 

pony_maggie - 公众号:犀牛饲养员的技术笔记

赞同来自:

手动移动分片到节点试试

pony_maggie - 公众号:犀牛饲养员的技术笔记

赞同来自:

用allocation命令看看分片分配的信息,失败的会告诉你原因。是不是节点在不同的可用去?

JingSQ - 招聘Elasticsearch内核研发工程师

赞同来自:

这个就是分配不过来了,要么增加Node数,要么提高这个阈值。这个限制项主要是用来避免单机shard太多导致meta操作太慢,一般情况下不需要额外去设置。

viewsite

赞同来自:

什么版本的ES, 测试最新版的7.8.0 没有这个问题呢

要回复问题请先登录注册