kafka2x-Elasticsearch 数据同步工具demo
2019-12-29 16:03:58来源:博客园 阅读 ()
kafka2x-Elasticsearch 数据同步工具demo
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,+
Spring boot: 1.x,2.x,+
kafka2x-Elasticsearch 数据同步工具demo
兼容 kafka_2.12-2.3.0 系列版本 ,使用本demo所带的应用程序运行容器环境,可以快速编写,打包发布可运行的数据导入工具
支持的 kafka_2.12-2.3.0 系列版本 到elasticsearch数据同步
kafka低版本(kafka_2.12-0.10.2.0系列版本)同步工具案例地址:https://gitee.com/bbossgroups/kafka1x-elasticsearch
支持的Elasticsearch版本: 1.x,2.x,5.x,6.x,7.x,+
支持海量PB级数据同步导入功能
使用参考文档
导入maven坐标
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-elasticsearch-rest-kafka2x</artifactId>
<version>5.9.9</version>
<scope>compile</scope>
</dependency>
构建部署
准备工作
需要通过gradle构建发布版本,gradle安装配置参考文档:
https://esdoc.bbossgroups.com/#/bboss-build
下载源码工程-基于gradle
https://github.com/bbossgroups/kafka2x-elasticsearch
从上面的地址下载源码工程,然后导入idea或者eclipse,根据自己的需求,修改导入程序逻辑
org.frameworkset.elasticsearch.imp.Kafka2ESdemo
如果需要测试和调试导入功能,运行Kafka2ESdemo的main方法即可即可:
public class Dbdemo {
public static void main(String args[]){
Kafka2ESdemo dbdemo = new Kafka2ESdemo();
boolean dropIndice = true;//CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值
dbdemo.scheduleTimestampImportData(dropIndice);
}
.....
}
修改es配置-kafka2x-elasticsearch\src\main\resources\application.properties
修改完毕配置后,就可以进行功能调试了。
测试调试通过后,就可以构建发布可运行的版本了:进入命令行模式,在源码工程根目录kafka2x-elasticsearch 下运行以下gradle指令打包发布版本
release.bat
运行作业
gradle构建成功后,在build/distributions目录下会生成可以运行的zip包,解压运行导入程序
linux:
chmod +x restart.sh
./restart.sh
windows: restart.bat
作业jvm配置
修改jvm.options,设置内存大小和其他jvm参数
-Xms1g
-Xmx1g
作业参数配置
在使用kafka2x-elasticsearch 时,为了避免调试过程中不断打包发布数据同步工具,可以将部分控制参数配置到启动配置文件resources/application.properties中,然后在代码中通过以下方法获取配置的参数:
#工具主程序
mainclass=org.frameworkset.elasticsearch.imp.Kafka2ESdemo
# 参数配置
# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
dropIndice=false
在代码中获取参数dropIndice方法:
boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
另外可以在resources/application.properties配置控制作业执行的一些参数,例如工作线程数,等待队列数,批处理size等等:
queueSize=50
workThreads=10
batchSize=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
码云项目:kafka2x-elasticsearch
磁力搜索网站导航2020更新
https://www.cnblogs.com/cilisousuo/p/12099547.html
原文链接:https://www.cnblogs.com/cilisousuo/p/12114363.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java笔记---成员初始化
下一篇:JVM探秘:Java对象
- Flink 如何分流数据 2020-06-11
- 数据源管理 | Kafka集群环境搭建,消息存储机制详解 2020-06-11
- 大公司都在做的大数据平台,为你精选这一份书单 2020-06-09
- switch循环所支持的数据类型 2020-06-07
- java基本数据类型 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash