社区
Java EE
帖子详情
用java向elasticsearch导入数据越来越慢
方元之外
2017-09-18 04:33:01
大概100G数据。elasticsearch是单机版,默认配置。
我只分析数据不导入,速度不受影响,初步排除代码问题。
数据字段有点多,160个。
刚开始导入的时候每秒大概有2000条。
往后面导入平均时间越来越慢。每秒几百条。
初步判断是es造成的瓶颈。
可是却不知道怎么提高速度?修改配置吗?只能是单击的,不能添加集群。
...全文
499
回复
打赏
收藏
用java向elasticsearch导入数据越来越慢
大概100G数据。elasticsearch是单机版,默认配置。 我只分析数据不导入,速度不受影响,初步排除代码问题。 数据字段有点多,160个。 刚开始导入的时候每秒大概有2000条。 往后面导入平均时间越来越慢。每秒几百条。 初步判断是es造成的瓶颈。 可是却不知道怎么提高速度?修改配置吗?只能是单击的,不能添加集群。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lucene全文检索框架+Solr+
ElasticSearch
搜索引擎(
Java
高级必备.ES)
课程提供所有代码笔记素材以及答疑 1、Lucene框架的熟练应用实现类似百度、京东商城等应用的全文检索效果; 1、Solr简介 2、Solr下载安装以及目录结构介绍 3、Solr应用部署至Tomcat服务器 4、Solr后台管理界面介绍 5、通过managed-schema配置Field以及中文分词器 6、将
数据
库中的
数据
导入
至Solr索引库 7、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页 8、通过Solrj实现索引的添加更新 9、通过Solrj实现索引的删除 10、索引的检索_过滤_高亮等操作 11、项目实战应用 12、Solr知识点总结 1、熟练掌握Lucene框架的使用,实现类似百度、京东商城等应用的全文检索效果; 2、
ElasticSearch
下载安装(window以及linux下安装) 3、集群环境搭建 4、客户端Kibana安装与使用 5、集群管理插件head安装使用 6、
java
api 操作 ES 7、电商项目实战应用等等 .....
Logstash
导入
mysql
数据
到es
慢
的解决方法
有一个千万级别的
数据
库存放在Mysql中,由于直接在Mysql中使用语句查询,一次的时间要十几分钟,无法满足应用的需求,因此考虑将其
导入
到
elasticsearch
中进行倒排索引查询。 使用的工具是Logstash,但是Logstash的
导入
速度随着
导入
数据
量的增大变得
越来越
慢
。查询后发现在
数据
量增大时变
慢
的原因是因为mysql的深度分页达到了瓶颈。因为logstash在我们自己写的的sql上又加了一层作为封装 在logstash的
导入
conf配置文件中的statement代码 SELECT * F
es 插入很
慢
_ES处理大
数据
插入运行几个小时候出现性能问题
es集群配置有三台,一台master ,两台 slave.三台机器配置大概是这样CPU: 6核CPU,物理CPU 2个 、逻辑CPU 24个,内存64G,磁盘22块。master:不存
数据
,两台slave 存
数据
。现在用
java
写了采集日志文件程序,向master发送
数据
,大概计算每秒ES插入2.2万条记录,索引规划为每小时一个索引,但是运行几个小时之后,插入
越来越
缓
慢
,CPU 和 内存的频率也...
ElasticSearch
同步
数据
变少了
至于我们的问题是因为开始是使用
数据
库的自增ID做为ES的ID(文档内容中也含有ID),但我们
数据
库的ID是有断层的情况(测试环境做了物理删除,有跳跃的情况),然后ES就凌乱了,后面不管3721,把ID换成ES内部自增ID就好了。结论:更新(重新写入,
数据
内容不变)实际上原来老的文档标记为删除状态,并新增一个新的文档,版本号为原来文档版本号+1。有两种方式生成,第一种是ES自动生成,Base64编码20位的唯一ID.另外一种是手动指定ID,比如来自
数据
库的自增ID或UUID,但要确保是唯一的。
logstash7.0.1将
数据
从mysql5.7同步至es7.0.1大
数据
量下同步
慢
的问题
首先我们分为两种情况 全量导库:以主键id的方式写sql语句分页
导入
es 增量倒库:按
数据
修改时间的时间字段进行到库 情况1: 原因:如果我们按修改时间的字段来进行全量倒库,那么logstash的sql语句在大
数据
量的时候会非常
慢
,因为logstash在我们的sql之外又套了一层 如:logstash里的mysql.conf文件里的sql SELECT * FROM article_lib WHERE update_time >= '2021-01-01 10:06:00' 但是logstash执行
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章