搜索结果正在快递途中

logstash jdbc elasticsearch导入数据 效率不高 、启动时间过长

Logstash | 作者 piaoxuan1987 | 发布于2018年08月09日 | 阅读数:5303

如图所示
logstash conf文件
2.png


3.png

es部署在一台机器上 内存8g
elasticsearch.yml 配置
    bootstrap.memory_lock: true
jvm.options
   -Xms7g
   -Xmx7g
 
logstash部署在另一台机器上内存10g
    logstash.yml
       pipeline.workers: 32
       pipeline.batch.size: 2000
  jvm.options
        -Xms9g
        -Xmx9g
 
   
   
 
 

实现思路:
   每次读取10万条数据,分页数据5万条,每3分钟启动一个logstash,解决jdbc嵌套子查询效率低下问题 
结果:
    1 读取10万数据,需要3分钟,500万条数据读取需要花费2个多小时,效率低下
 想解决的问题
    1 读取10万条数需要3分钟,缩短时间
    2  每次启动logstash实例需要耗时1分钟,缩短时间
    
   
 
 
已邀请:

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

赞同来自:

1.循环周期3分钟的意思是间隔3分钟吧,你需要验证一下,把这个时间调小;
2.根据ES队列和线程池,适当的调整jdbc_page_size的值;
3.考虑使用其他方案,参考:用golang开发了一个gohangout (https://github.com/childe/gohangout ) , 
内存比java 版的hangout(https://github.com/childe/hangout) 内存大幅降低。

zqc0512 - andy zhou

赞同来自:

cache.还有个多少条数据才开始向ES写入,这个值不 是越大越好。需要测试的。
-b  xx - w  xx  -u xx
 

要回复问题请先登录注册