用Kafka自带的FileStreamSource和FileStreamSink connector真实跑一次standalone Kafka Connect,验证纯配置驱动的Source/Sink协作模式,以及运行中文件变化的增量同步。
配置 · file-source.properties connector.class=org.apache.kafka.connect.file.FileStreamSourceConnector file=source-input.txt topic=connect-file-topic
配置 · file-sink.properties connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector file=sink-output.txt topics=connect-file-topic
命令 · shell $ connect-standalone.sh connect-standalone.properties file-source.properties file-sink.properties
source-input.txt真实的原始内容: line1: hello kafka connect line2: real file source test 真实等Connect启动完成后,sink-output.txt真实的内容: line1: hello kafka connect line2: real file source test 真实直接consumer读取connect-file-topic,内容跟两个文件真实一致
整个链路真实完全没有写一行自定义代码——两份properties配置文件描述了"从哪个文件读、写到哪个topic"和"从哪个topic读、写到哪个文件",Connect框架真实自己完成了文件读取、Kafka生产、Kafka消费、文件写入这一整套动作。
命令 · shell $ echo "line3: appended while connect is running" >> source-input.txt
sink-output.txt真实的内容: line1: hello kafka connect line2: real file source test line3: appended while connect is running ← 真实新增的这一行也流过来了
每一步都是本文上面用真实的Kafka Connect standalone模式跑出来的原始结果。