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

Elasticsearch问题请教!!!

Elasticsearch | 作者 xiaoke | 发布于2019年04月22日 | 阅读数:1172

目前集群如下:
 ES为6.5.0版本
 8台机器组成的集群
 3台机器node.master: true node.data: false (4核8G)
 5台机器node.master: falsenode.data: true(16核64G) JVM分配为31G
 
问题1:
  
process4.png

发现process为4,这个是由master决定的嘛?如果是我只有增加master的机器配置吗?
 
问题2:

bulk4.png


write4.png

发现thread_pool.bulk.size 和thread_pool.write.size都是4,这个展示的都是master的嘛?因为问题3,我想增大这个值!
 
问题3:


queue_out.png


发现大量的reject,日志也大量报错Pool队列溢出,发现size已经是16了,所以我现在修改pool_queue能解决吗?另外我发现queue_size是200(默认),但是queue超过了是怎么回事??不应该一定不会超过吗?超过的直接拒绝了?现在怎么超过了呢?还是我理解有问题?
 
 
如上,请问如何优化?
 
rejected.png
已邀请:

kepmoving - 90后

赞同来自:

reject一般是因为集群处理不过来请求,一般可能是慢查询拖累了集群性能,内存问题导致gc频繁也有可能,每次查询会分到不同的shard执行查询后再合并,shard数也不能过多,否则慢查询的问题就很明显,增加节点,增加内存,优化查询(索引结构)

xiaoke - http://blog.51cto.com/kexiaoke

赞同来自:

顶一下。

rochy - rochy_he

赞同来自:

上面的截图是写队列被占满了,一般是写的请求过于频繁了,你可以增大每次写的 bulk_size 或者先把数据写入到 kafka 集群,然后启动消费者将 kafka 数据写入到 ES,这样就不存在请求全部堆积到 ES,造成 ES 压力过大了

要回复问题请先登录注册