不为失败找理由,要为成功找方法。

海量数据导入elasticsearch优化

Elasticsearch | 作者 SongJianjun | 发布于2017年11月23日 | 阅读数:8423

需求:
存储2000台openstack计算节点的nova,ceilometer,neutron的日志。
部署方式:
1.批量部署logstash到2000台计算节点上,采集数据发送到redis缓存(单节点)
2.es集群3节点(node.master: true,node.data: true),版本:1.7.1;es的配置见附件。
3.同时启动24个logstash消费节点,分布在3台物理服务器上,从redis消费,写入es中。平均每个es节点对应8个logstash的写入。
问题:
会有近1亿多的数据积压在redis中。
请问各位大神,如何进行定位和优化,谢谢!
ps:该环境中,es的查询性能可以忽略。
 
已邀请:

Eric_L

赞同来自: medcl laoyang360

对。如果是新部署,可以用最新的elk啊。性能等提升了不少。也方便了很多。

lz8086 - es小司机

赞同来自: horizon3d

个人使用来看,ruby写的logstash性能并不高,因此原作者才用golang开发了filebeat

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

赞同来自:

ES版本,1.7.1??????????

Eric_L

赞同来自:

这种问题,我通常就是排查一下,资源使用情况,是cpu满了,还是io满了,或者带宽。这些都是瓶颈。如果这些都正常,es索引能力应该还可以提升。可以提高并发,或者建立多个index等等。

lunatictwo

赞同来自:

墙裂建议升级版本
 

ELK_Funs

赞同来自:

80%的可能是你ES的IO跟不上。监控下ES的磁盘IO。
优化方面1,跳转下bulk大小。内存大的话就调大点
2,把副本取消,不要副本
3,提高refresh_internal的时间
4,增大的你等待队列长度
等等
根据自身进行跳转

medcl - 今晚打老虎。

赞同来自:

同样建议先升级再考虑优化

xiaoshi

赞同来自:

你先说下 每台logstash 每秒接多少条数据 再列一下 3台es机器的硬件配置 cpu线程数  物理内存大小  磁盘型号 几块盘 IOPS多少 就能大致知道集群能否扛得住
 

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

也是建议先升级

要回复问题请先登录注册