我们的集群三台物理机,机器配置128G内存,1TB固态硬盘,40核的cpu。集群的搭建方式一个物理机2个es实例,一个为data节点,一个为master节点,一共3个data和3个master,集群的分片使用的默认的,5个主分片一个副分片。我们的使用场景主要是管理后台实时的搜索,通过db或者kafaka往es集群写数据然后在后台搜索,现在遇到问题就是机器的load经常飙升,单核飙升到1以上,导致搜索的时候超时,然后我就把所有往es写数据的job都停下来负载又迅速下降。现象是集群中只有一个机器的负载飙升的比较高,每次都是这一台飙升,且这台不是master所在机器。
x-pack在负载飙升时刻的监控,indexing rate为0,感觉es像夯住了一样
给我的感觉是es集群扛不住这么大的数据写入量,但为题是为什么每次都是一台机器负载高呢,其他两台机器单核负载在0.05左右,非常低,而且负载飙升的这台机器在正常的时候负载也非常的低,集群的大致情况如下
集群中有比较大的索引,大概在20几G,大概就是这样的情况,请求大家给点解决方案或者解决思路,谢谢
x-pack在负载飙升时刻的监控,indexing rate为0,感觉es像夯住了一样
给我的感觉是es集群扛不住这么大的数据写入量,但为题是为什么每次都是一台机器负载高呢,其他两台机器单核负载在0.05左右,非常低,而且负载飙升的这台机器在正常的时候负载也非常的低,集群的大致情况如下
集群中有比较大的索引,大概在20几G,大概就是这样的情况,请求大家给点解决方案或者解决思路,谢谢
5 个回复
medcl - 今晚打老虎。
赞同来自: walter123
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
看到数据节点上的高负载是很正常的,因为这是主要受索引文档影响的节点。
除了决定将索引放在何处以及在新字段到达时更新集群状态时,Master 节点不会做更多的事情。
数据节点完成真正的工作,例如分析数据和存储数据等。
多半和磁盘有关系,通过磁盘排查突破。
yayg2008
赞同来自:
至于为什么只有1个节点高,很有可能是因为数据分布不均导致,因为索引在创建的时候会结合当时的磁盘使用情况来将shard分配到相应的节点,一旦分配,基本上就不会变化,如果这个索引数据量非常大,那么对应的几个节点资源消耗势必会多,又如果你使用了routing,导致了热点倾斜,则可能出现这种情况。
另外,机器配置是否一样?
你是SSD,写入速度至少可以到200MB/s,IO应该没问题。优化下数据写入性能,应该会有改观。
还一种可能就是,内存脏页过多,系统无法异步回收完成,触发阻塞回收,这个也会将进程夯住。
liulinisgood
赞同来自:
zqc0512 - andy zhou
赞同来自:
那个X-PACK监控是取的ES的值的,大集群下面很有可以取不出来的。特别是做merge rebalance 等条件下。
你写入速率还不到750/s,无压力,随便刚