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
sink文件名:test.sink\u 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
1条答案
按热度按时间bqf10yzr1#
我认为这种奇怪的行为是由您修改sink文件的方式引起的(
text_2.txt
).停止连接器后应用更改的方式:
使用一些编辑器<--我想你用的是那种方法
仅在文件末尾附加新字符
FileStreamSource
根据文件中的位置跟踪更改。您正在独立模式下使用kafka connect,因此当前位置将写入/tmp/connect.offsets
文件。如果使用编辑器修改源文件,则文件的全部内容都已更改。然而
FileStreamSource
仅检查大小是否包含更改和轮询字符,即文件中的偏移量大于连接器上次处理的偏移量。只能通过在文件末尾添加新字符来修改源文件