Giter Site home page Giter Site logo

Comments (6)

yin-bp avatar yin-bp commented on June 22, 2024

Hi,@WayneLee5991
数据同步到es,数据不一致问题原因有多方面的,最主要的原因之一,导入的时候elasticsearch服务端处理不过来,造成部分数据被elasticsearch拒绝的情况,这种情况下需对导入作业的相关参数进行适当调优,比如导入的batchsize,线程数等等,另外bboss提供了导入结果回调处理接口,导入过程中有错误和异常时,会调用对应的接口回调方法,便于排查问题,相关的资料可以访问以下文档了解:

https://esdoc.bbossgroups.com/#/db-es-tool
对应的章节
2.3.12 设置任务执行结果回调处理函数
2.8 数据导入不完整原因分析及处理

from bboss-elasticsearch.

WayneLee5991 avatar WayneLee5991 commented on June 22, 2024

Hi,@WayneLee5991
数据同步到es,数据不一致问题原因有多方面的,最主要的原因之一,导入的时候elasticsearch服务端处理不过来,造成部分数据被elasticsearch拒绝的情况,这种情况下需对导入作业的相关参数进行适当调优,比如导入的batchsize,线程数等等,另外bboss提供了导入结果回调处理接口,导入过程中有错误和异常时,会调用对应的接口回调方法,便于排查问题,相关的资料可以访问以下文档了解:

https://esdoc.bbossgroups.com/#/db-es-tool
对应的章节
2.3.12 设置任务执行结果回调处理函数
2.8 数据导入不完整原因分析及处理

我使用了2.3.12中的ExportResultHandler,batchsize设置为5000,假设数据量为4000万,那么处理成功5000条机会调用success方法,有没有一个方式可以监听全部处理成功呢??或者是需要自己计数??

from bboss-elasticsearch.

yin-bp avatar yin-bp commented on June 22, 2024

看看章节:
https://esdoc.bbossgroups.com/#/db-es-tool
2.3.17 数据同步任务执行统计信息获取

from bboss-elasticsearch.

yin-bp avatar yin-bp commented on June 22, 2024

可以加入bboss的讨论开发群进一步交流
Elasticsearch技术交流群:21220580,166471282

Elasticsearch微信公众号:

对于你的情况建议如下

1、batchSize,fetchSize我修改为5000,threadCount=100,queueSize=200,几乎都是官方文档里的最小值。但是还是会sockettimeout 。目标ES集群不是我们管理的,优化需要和他们交流。
答复: threadCount为100实在是太大了,es扛不住了,还搞这么大的同步并发量肯定不行的,threadCount可以适当调整为10,queueSize可以调整为1000,batchSize可以改为1000,如果还抗不住,再适当调小threadCount
同步的时候将refresh机制都关闭掉

2、如果4000万的数据迁移到一半出错了,我想使用增量方法,增量字段是否支持_id?我们集群的索引id是自定义的long类型的数据
答复:建议你在你的索引表里面额外加一个long字段,专门用于增量同步

from bboss-elasticsearch.

WayneLee5991 avatar WayneLee5991 commented on June 22, 2024

可以加入bboss的讨论开发群进一步交流
Elasticsearch技术交流群:21220580,166471282

Elasticsearch微信公众号:

对于你的情况建议如下

1、batchSize,fetchSize我修改为5000,threadCount=100,queueSize=200,几乎都是官方文档里的最小值。但是还是会sockettimeout 。目标ES集群不是我们管理的,优化需要和他们交流。
答复: threadCount为100实在是太大了,es扛不住了,还搞这么大的同步并发量肯定不行的,threadCount可以适当调整为10,queueSize可以调整为1000,batchSize可以改为1000,如果还抗不住,再适当调小threadCount
同步的时候将refresh机制都关闭掉

2、如果4000万的数据迁移到一半出错了,我想使用增量方法,增量字段是否支持_id?我们集群的索引id是自定义的long类型的数据
答复:建议你在你的索引表里面额外加一个long字段,专门用于增量同步

我把batchSize和fetchSize修改为500,threadCount修改为5,处理几个千万级别的索引后还是会报sockerTimeOut异常,是不是这个目标ES集群有点过于垃圾了。
当我重启,同步一个索引,日志中打印了CustomExportResultHandler:Task[Import DB Data to Elasticsearch] rejected 100 times,这个rejected 100 times会一直增长,这是目标ES集群拒绝处理数据的意思吧??
这么看来,不管怎么优化bboss,目标ES集群都会报错,所以只能优化ES了

from bboss-elasticsearch.

yin-bp avatar yin-bp commented on June 22, 2024

Hi,@WayneLee5991
sockettimeout确实是es处理能力问题,需要进行优化,可以先优化你们mapping结构。

CustomExportResultHandler:Task[Import DB Data to Elasticsearch] rejected 100 times
这个rejected 100 times只是告诉你bboss在多线程写入数据到elasticsearch时,由于es写入慢,bboss作业任务出现排队等待告警,bboss不会丢弃数据,直到所有的数据处理完毕。

bboss作为一个数据源同步工具,可以根据同步作业部署服务器配置、elasticsearch服务器处理能力,灵活调整数据同步作业参数,在确保数据准确性的前提下,追求最佳的同步性能和速度

from bboss-elasticsearch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.