es集群负载不均的问题

Elasticsearch | 作者 code4j | 发布于2018年08月17日 | 阅读数:1395

集群四个节点,写入量比较大,最近发现上游数据有堆积,看了下集群cpu也不是很高,负载有一个机器有点高,bulk队列有点堵,其他节点看上去都很正常,上游写的速度偏慢。看了下es的健康状况,压力大的机器gc稍微快一点(3分钟一次 一次1s左右),我删掉了一部分数据,gc后内存下来许多,这时发现其他机器load也慢慢提上来了。
 
很不理解这是为什么,load稍微高的机器也没有达到压力非常大的程度(除了 bulk队列堆积了一百多任务,因为写入很快所以长时间堆积一百多),仅仅是删除了些索引把内存降下来了,集群负载反而平衡了,我的es是2.2版本的,请问这是什么情况呢
已邀请:

JackGe

赞同来自:

看你的描述,load较高的节点,gc也比较频繁,数据写入相对其他节点来说较慢,导致该节点bulk队列有堆积。删除该节点上历史索引后该节点内存恢复,该节点bulk队列也恢复正常,其他节点的写入量也会相应增大,load增大。
我觉得造成这个现象的原因是数据写入会占用内存,参数为indices.memory.index_buffer_size,默认为节点jvm的10%,当节点内存不足时,写入速度会下降。

zqc0512 - andy zhou

赞同来自:

你写入是撸到一个节点了么?还是4个节点一起配置的?
 

要回复问题请先登录注册