Kafka Connect之编译kafka-connect-elasticsearch-5.1.0连接器

环境:

Linux:Centos7

JDK:Java version "1.8.0_161"

maven:3.6.0

gradle:Gradle 4.10.3

开始编译:

前期准备:

因为kafka-connect-elasticsearch依赖parent项目(查看它的pom文件),需要下载common,还依赖kafka,直接编译无法找到jar包,所以又需要下载kafka的,如果已经有了,则不需要下载kafka,这里下载三个项目:

1. Kafka:

wget https://codeload.github.com/apache/kafka/zip/0.11.0

2.confluentinc/kafka-connect-elasticsearch
wget https://codeload.github.com/confluentinc/kafka-connect-elasticsearch/zip/5.1.0-post

3.confluentinc/common
wget https://codeload.github.com/confluentinc/common/zip/5.1.0-post

先编译kafka:

本来准备直接放windows上编译的,但是出现如下错误,有说网络大墙原因,有说其他的。索性放linux上吧

以下为更改Centos7下编译:

下载源码:wget https://codeload.github.com/apache/kafka/zip/0.11.0

解压:unzip 0.11.0

修改kafka版本:[root@flu03 kafka-0.11.0]# vim gradle.properties
version=0.11.0.3   # 版本错了,后续无法下载连接器版本,这里版本一定要在maven repository中搜索下:connect,查看到connect中有带有kafka相同后缀的版本,或者直接在common中修改kafka版本,这里为保持一致,我都按照已有的不变原则来处理。

运行:[root@flu03 kafka-0.11.0]# gradle

查看下编译好的版本是否是修改后的:
ll /opt/kafka-0.11.0/core/build/libs (我把源码都下载到了opt目录)

将kafka安装到本地库中: ./gradlew installAll

编译Common:

要获取到相应的版本信息,必须编译这个项目:

[root@flu03 common-5.1.0-post]# vim pom.xml
<kafka.version>0.11.0.3</kafka.version>
<kafka.scala.version>2.11</kafka.scala.version>

执行:
mvn -pl :common-config package
mvn install

编译kafka-connect-elasticsearch

直接运行:mvn install

最后日志。。。

[INFO] Copying files to /opt/kafka-connect-elasticsearch-5.1.0-post/target/kafka-connect-elasticsearch-5.1.0-package
[WARNING] Assembly file: /opt/kafka-connect-elasticsearch-5.1.0-post/target/kafka-connect-elasticsearch-5.1.0-package is not a regular file (it may be a directory). It cannot be attached to the project build for installation or deployment.
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:test-jar (default) @ kafka-connect-elasticsearch ---
[INFO] Building jar: /opt/kafka-connect-elasticsearch-5.1.0-post/target/kafka-connect-elasticsearch-5.1.0-tests.jar
[INFO] 
[INFO] --- maven-failsafe-plugin:2.21.0:integration-test (integration-test) @ kafka-connect-elasticsearch ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-failsafe-plugin:2.21.0:verify (verify) @ kafka-connect-elasticsearch ---
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ kafka-connect-elasticsearch ---
[INFO] Installing /opt/kafka-connect-elasticsearch-5.1.0-post/target/components/kafka-connect-elasticsearch-5.1.0.jar to /root/.m2/repository/io/confluent/kafka-connect-elasticsearch/5.1.0/kafka-connect-elasticsearch-5.1.0.jar
[INFO] Installing /opt/kafka-connect-elasticsearch-5.1.0-post/pom.xml to /root/.m2/repository/io/confluent/kafka-connect-elasticsearch/5.1.0/kafka-connect-elasticsearch-5.1.0.pom
[INFO] Installing /opt/kafka-connect-elasticsearch-5.1.0-post/target/kafka-connect-elasticsearch-5.1.0-tests.jar to /root/.m2/repository/io/confluent/kafka-connect-elasticsearch/5.1.0/kafka-connect-elasticsearch-5.1.0-tests.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:04 min
[INFO] Finished at: 2019-01-18T11:31:05+08:00
[INFO] ------------------------------------------------------------------------

最后进入目录查看下:

ll /root/.m2/repository/io/confluent/kafka-connect-elasticsearch/5.1.0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
kafka-connect-transform-kryptonite 是 Kafka Connect 的一个转换器插件。Kafka Connect 是一个可扩展的分布式数据集成工具,可用于在 Apache Kafka 和外部系统之间进行可靠和高效的数据流传输。而 Kafka Connect 转换器是用于对数据进行转换、过滤或处理的插件。 Kafka Connect 是一个开源的分布式数据集成框架,用于连接和处理来自各种数据源的数据,例如数据库、消息队列和文件系统等。它提供了一个统一的、可扩展的架构,允许用户将数据从多个来源导入到 Kafka 中,并将数据导出到多个目标系统。这为数据集成提供了更加灵活和可靠的方式,且能够满足各种实时数据处理的需求。 Kafka Connect 的一个关键特性是插件化的架构,使得用户可以根据自己的需求,选择和配置合适的插件。其中,kafka-connect-transform-kryptonite 插件就是其中之一。Kryptonite 可以理解为一种“解除”或“削弱”转换器,它可能采用一些特定的规则或算法,对输入的数据进行加工、转换或过滤。 使用 kafka-connect-transform-kryptonite 插件,我们可以根据具体的业务需求,对 Kafka 中的消息进行处理。例如,我们可以通过 Kryptonite 转换器,将消息中的某些字段进行加密,以保护敏感数据的安全;或者根据一些规则,对消息进行过滤和筛选,只保留我们关心的数据。 总之,kafka-connect-transform-kryptonite 是 Kafka Connect 提供的一个转换器插件,可以用于对数据进行加工、转换和过滤。通过这个插件,我们可以根据业务需求对 Kafka 中的消息进行定制化处理,以满足不同场景下的数据集成和处理需求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值