前言:
本文章适用于在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
网友评论