Kafka版本:2.12-2.1.1
我创建了一个非常简单的示例,使用以下命令来创建源连接器和接收器连接器:
bin\windows\connect-standalone.bat config\connect-standalone.properties config\connect-file-source.properties config\connect-file-sink.properties
源文件名:text_2.txt
接收器文件名:test.sink_2.txt
使用了一个名为“ connect-test-2 ”的主题,我在PowerShell中创建了一个使用者以显示结果。
它在第一时间完美运行。但是,在我重新启动机器并重新启动所有内容之后。我发现缺少一些文字。
例如,当我在test_2.txt文件中键入以下字符并保存为以下内容时:
HAHAHA..
missing again
some text are missing
I am able to enter text
first letter is missing
testing testing.
结果窗口(“消费者”)和接收器文件显示以下内容:
如您所见,某些文本丢失了,我不知道为什么会这样。有什么建议吗?
[在下面添加了信息]
connect-file-source.properties
name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=test_2.txt
topic=connect-test-2
connect-file-sink.properties
name=local-file-sink
connector.class=FileStreamSink
tasks.max=1
file=test.sink_2.txt
topics=connect-test-2
答案 0 :(得分:0)
我认为奇怪的行为是您修改接收器文件(text_2.txt
)的方式。
停止连接器后如何应用更改:
FileStreamSource
跟踪基于文件位置的更改。您正在以独立模式使用Kafka Connect,因此当前位置已写入/tmp/connect.offsets
文件中。
如果使用编辑器修改源文件,则文件的全部内容均已更改。但是FileStreamSource
仅检查大小是否已更改和轮询字符,即文件中的偏移量是否大于连接器上次处理的偏移量。
您只能通过在文件末尾添加新字符来修改源文件