美文网首页
Kafka Connect 实现文本数据同步

Kafka Connect 实现文本数据同步

作者: CNSTT | 来源:发表于2018-12-17 13:55 被阅读0次

前言:

本文章适用于在Windows上使用Kafka Connect导入文本数据并导出到另一文本文件中。本教程假设您已经配置好Kafka环境,整个配置过程大约10分钟即可。
官方demo

介绍

一个方便的QuickStart是从控制台写入数据(生产者Producer)并将其写回控制台(消费者Customer),但你可能想要使用那些来自其他数据源的数据或是从Kafka导出数据到其他系统。对于很多系统来说,你可以使用Kafka Connect导入导出数据来取代写定制整合的代码。
Kafka Connect是一个Kafka附带的工具可以导入导出数据到Kafka中。它是一个可以实现与外部系统交互的自定义逻辑,一个可扩展的运行连接器的工具。在以下这个QuickStart中我们将会看到如何运行Kafka Connect通过简单的连接器来从一个文本文件导入数据到Kafka的Topic中并且从Kafka的Topic导出数据到另一个文本文件中。

正式开始

本案例Kafka安装路径为 D:\com\kafka_2.11-2.0.1,请自行调整以下涉及路径的代码

1、创建一个文本文件——源文件(1min)

路径:D:\com\kafka_2.11-2.0.1\logs(任意)
新建 test.txt
输入两行测试内容(不用命令行亦可)

echo foo> test.txt
echo bar>> test.txt

2、创建一个Topic(2min)

启动Kafka [此处省略Kafka启动步骤,详见链接]
(https://www.jianshu.com/p/2ec902432e20)
切换路径 D:\com\kafka_2.11-2.0.1\bin\windows
创建Topic connect-test

kafka-run-class.bat kafka.admin.TopicCommand --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --connect-test

读取Topic(暂时为空) 不要关闭它

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic connect-test --from-beginning

3、修改配置文件(2min)

切换路径 D:\com\kafka_2.11-2.0.1\config
connect-file-source.properties file输入路径

file=D:/com/kafka_2.11-2.0.1/logs/test.txt  //即步骤二创建的源文本

connect-file-sink.properties file输出路径

file=D:/com/kafka_2.11-2.0.1/logs/testsink.txt  //即输出的目标文本

4、运行(5min)

切换路径 D:\com\kafka_2.11-2.0.1\bin\windows执行以下命令

启动Kafka Connect
connect-standalone.bat D:/com/kafka_2.11-2.0.1/config/connect-standalone.properties D:/com/kafka_2.11-2.0.1/config/connect-file-source.properties D:/com/kafka_2.11-2.0.1/config/connect-file-sink.properties

打开testsink.txt 发现多了两行数据


第一次testsink
读取Topic Console(步骤二的Kafka控制台)
{"schema":{"type":"string","optional":false},"payload":"foo"}
{"schema":{"type":"string","optional":false},"payload":"bar"}

以下内容自行发挥

再次在test.txt添加数据,发现在Console和testsink.txt源源不断进入数据


消费者Console
第二次testsink

至此在Windows环境下使用Kafka Connect导入导出文本数据完成!

谢谢阅读,有帮助的点个❤!

相关文章

网友评论

      本文标题:Kafka Connect 实现文本数据同步

      本文链接:https://www.haomeiwen.com/subject/meeqkqtx.html