缺少文本

dwbf0jvd  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(310)

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
bqf10yzr

bqf10yzr1#

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

相关问题