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.8+
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级数据同步导入功能
[使用参考文档](https://esdoc.bbossgroups.com/#/db-es-tool)
# 导入maven坐标
```xml
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-datatran-mongodb</artifactId>
<version>7.1.8</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方法即可即可:
```java
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](https://github.com/bbossgroups/mongodb-elasticsearch)时,为了避免调试过程中不断打包发布数据同步工具,可以将部分控制参数配置到启动配置文件resources/application.properties中,然后在代码中通过以下方法获取配置的参数:
```ini
#工具主程序
mainclass=org.frameworkset.elasticsearch.imp.Mongodb2ESdemo
# 参数配置
# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
dropIndice=false
```
在代码中获取参数dropIndice方法:
```java
boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
```
另外可以在resources/application.properties配置控制作业执行的一些参数,例如工作线程数,等待队列数,批处理size等等:
```
queueSize=50
workThreads=10
batchSize=20
```
在作业执行方法中获取并使用上述参数:
```java
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](https://static.oschina.net/uploads/space/2017/0617/094201_QhWs_94045.jpg)
没有合适的资源?快使用搜索试试~ 我知道了~
Mongodb-Elasticsearch 数据同步工具.zip
共60个文件
java:19个
sh:11个
xml:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 125 浏览量
2024-04-25
07:19:50
上传
评论
收藏 109KB ZIP 举报
温馨提示
mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非关系数据库当中功能最丰富,最像关系数据库的产品。 2、mongoDB的基本概念 (1)数据库: 数据库和传统的关系型数据库差不多的概念,每个数据库含有多个集合,每个数据库最后会作为文件储存至服务器中,另外还有一些特殊的数据库进行了保留 (2)集合(table): 在MongoDB中,数据是以文档的形式存储的,文档是一个键值对的集合,并且文档支持嵌套和数组。MongoDB中的一个文档相当于关系型数据库中的一行,多个文档构成了集合(collection),集合类似于关系型数据库中的表。 (3)文档 (行数据): 文档则相当于传统关系型数据的行数据,对于集合中的介绍,我们基本也了解到了集合的结构并非是非常固定的结构,但是对于其中还是要注意,文档不能出现相同名称的属性。
资源推荐
资源详情
资源评论
收起资源包目录
Mongodb-Elasticsearch 数据同步工具.zip (60个子文件)
新建文本文档.txt 3KB
mongodb-elasticsearch-master
gradle.properties 1KB
lib
readme.txt 65B
.gitattributes 65B
src
test
java
org
frameworkset
elasticsearch
imp
QuartzTest.java 949B
XXLJobApplicationTest.java 432B
main
resources
dsl2ndSqlFile.xml 3KB
application.properties 2KB
application.properties.quartz 2KB
dsl7.xml 10KB
application.properties.xxljob 3KB
dsl.xml 10KB
log4j2.xml 692B
sqlFile.xml 7KB
application.properties.jdktimer 1KB
org
frameworkset
soa
serialconf.xml 1KB
task
quarts-task.xml 3KB
java
org
frameworkset
elasticsearch
imp
Mongodb2Kafka.java 13KB
QuartzImportTask.java 9KB
MongodbDate2Dummy.java 8KB
XXJobMongodb2ESImportTask.java 12KB
Mongodb2ES.java 14KB
DB2MongodbDemo.java 9KB
Mongodb2Custom.java 14KB
ES2MongodbDemo.java 10KB
Mongodb2DBdemo.java 14KB
Mongodb2Dummy.java 12KB
cdc
MongodbCDC2MongoDBDemo.java 10KB
MongodbCDCDemo.java 13KB
MongodbCDCDBStatusDemo.java 13KB
Mongodb2FileFtp.java 15KB
Mongodb2ESdemo.java 12KB
session
TestVO.java 417B
TestVO1.java 291B
LICENSE 11KB
build.gradle 6KB
runfiles
startup.sh 391B
restart-quartz.bat 592B
restart-exportdemo.sh 413B
restart.sh 417B
stop-quartz.sh 129B
stop.sh 133B
restart-quartz.sh 413B
config-cmsdocmenttable.properties 109B
stop.bat 101B
startup-cmsdocumenttable.sh 392B
restart-cmsdocumenttable.sh 418B
stop-quartz.bat 97B
run.bat 1KB
jvm.options 3KB
run.sh 1KB
restart.bat 596B
startup.bat 588B
config-exportdemo.properties 87B
config-quartztask.properties 72B
stop-cmsdocumenttable.sh 133B
.gitignore 139B
release.sh 100B
README.md 4KB
release.bat 113B
共 60 条
- 1
资源评论
野生的狒狒
- 粉丝: 3392
- 资源: 2436
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功