• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mongodb-elasticsearch: Mongodb-Elasticsearch 数据同步工具,支持Mongodb到elastics ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mongodb-elasticsearch

开源软件地址:

https://gitee.com/bboss/mongodb-elasticsearch

开源软件介绍:

Bboss is a good elasticsearch Java rest client. It operates and accesses elasticsearch in a way similar to mybatis.

BBoss Environmental requirements

JDK requirement: JDK 1.7+

Elasticsearch version requirements: 1.x,2.X,5.X,6.X,8.x,+

Spring booter 1.x,2.x,+

Mongodb-Elasticsearch 数据同步工具demo

使用本demo所带的应用程序运行容器环境,可以快速编写,打包发布可运行的数据导入工具

支持的数据库:mongodb 到elasticsearch数据同步mongodb 到数据库数据同步

支持的Elasticsearch版本:1.x,2.x,5.x,6.x,7.x,8.x,+

支持海量PB级数据同步导入功能

使用参考文档

导入maven坐标

<dependency>  <groupId>com.bbossgroups.plugins</groupId>  <artifactId>bboss-elasticsearch-rest-mongodb</artifactId>  <version>6.5.2</version>  <scope>compile</scope></dependency>

构建部署

准备工作

需要通过gradle构建发布版本,gradle安装配置参考文档:

https://esdoc.bbossgroups.com/#/bboss-build

下载源码工程-基于gradle

https://github.com/bbossgroups/mongodb-elasticsearch

从上面的地址下载源码工程,然后导入idea或者eclipse,根据自己的需求,修改导入程序逻辑

org.frameworkset.elasticsearch.imp.Mongodb2ESdemo

如果需要测试和调试导入功能,运行Mongodb2ESdemo的main方法即可即可:

public class Dbdemo {	public static void main(String[] args){		Mongodb2ESdemo dbdemo = new Mongodb2ESdemo();        		boolean dropIndice = true;//CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值                		dbdemo.scheduleTimestampImportData(dropIndice);	}    .....}

修改es配置-mongodb-elasticsearch\src\main\resources\application.properties

修改完毕配置后,就可以进行功能调试了。

测试调试通过后,就可以构建发布可运行的版本了:进入命令行模式,在源码工程根目录mongodb-elasticsearch下运行以下gradle指令打包发布版本

release.bat

运行作业

gradle构建成功后,在build/distributions目录下会生成可以运行的zip包,解压运行导入程序

linux:

chmod +x restart.sh

./restart.sh

windows: restart.bat

作业jvm配置

修改jvm.options,设置内存大小和其他jvm参数

-Xms1g

-Xmx1g

作业参数配置

在使用mongodb-elasticsearch时,为了避免调试过程中不断打包发布数据同步工具,可以将部分控制参数配置到启动配置文件resources/application.properties中,然后在代码中通过以下方法获取配置的参数:

#工具主程序mainclass=org.frameworkset.elasticsearch.imp.Mongodb2ESdemo# 参数配置# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值falsedropIndice=false

在代码中获取参数dropIndice方法:

boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false

另外可以在resources/application.properties配置控制作业执行的一些参数,例如工作线程数,等待队列数,批处理size等等:

queueSize=50workThreads=10batchSize=20

在作业执行方法中获取并使用上述参数:

int batchSize = CommonLauncher.getIntProperty("batchSize",10);//同时指定了默认值int queueSize = CommonLauncher.getIntProperty("queueSize",50);//同时指定了默认值int workThreads = CommonLauncher.getIntProperty("workThreads",10);//同时指定了默认值importBuilder.setBatchSize(batchSize);importBuilder.setQueue(queueSize);//设置批量导入线程池等待队列长度importBuilder.setThreadCount(workThreads);//设置批量导入线程池工作线程数量

elasticsearch技术交流群:166471282

elasticsearch微信公众号:bbossgroup

GitHub Logo


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap