【问题标题】:Kafka Connect - Missing TextKafka Connect - 缺少文本
【发布时间】:2019-08-05 00:36:33
【问题描述】:

卡夫卡版本: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

【问题讨论】:

  • 您能否修改您的问题以包括您的config\connect-file-source.propertiesconfig\connect-file-sink.properties
  • 感谢@RobinMoffatt。我将设置包含在我的问题中。

标签: apache-kafka apache-kafka-connect


【解决方案1】:

我认为奇怪的行为是由你修改接收器文件的方式引起的 (text_2.txt)。

停止连接器后如何应用更改:

  • 使用一些编辑器我认为你使用那种方法
  • 仅将新字符附加到文件末尾

FileStreamSource 根据文件中的位置跟踪更改。您在独立模式下使用 Kafka Connect,因此当前位置写入 /tmp/connect.offsets 文件中。

如果您使用编辑器修改源文件,则文件的全部内容已更改。但是FileStreamSource 仅检查大小是否有更改和轮询字符,文件中的偏移量大于连接器最后处理的偏移量。

您应该只通过在文件末尾追加新字符来修改源文件

【讨论】:

  • 谢谢@wardziniak。我在 notepad++ 中打开了 test_2.txt 文件,并在文件末尾继续“追加”新字符,然后按 ctrl+c。而且,我只是尝试添加更多字符并且行为相同......
  • @BennyChan,记事本++ 使用一些命令行工具。我不是 PowerShell 方面的专家。在 Unix 中,它可能类似于:echo "hello" > test_2.txt,对于 PowerShell,我发现以下命令:Add-Content test_2.txt "Test" (tachytelic.net/2018/11/…)
  • 谢谢@wardziniak。我按照您的建议创建了一个 .bat 文件以将行写入文件,并且它可以正常工作。我还尝试创建一个简单的 nodejs 脚本来插入行,也没有问题。我认为当某些应用程序(记事本++甚至记事本)手动更新文本文件时会发生问题?但为什么?!虽然我想不出任何使用连接器来连接通过记事本或文本编辑器更新的文本文件的用户案例,但我认为这必须能够处理,对吗?
  • @BennyChan,我认为问题在于某些应用程序(记事本++等)更新文件的方式。它们应该只附加在文件的末尾,而是修改文件内的内容。如示例所示,当仅附加字符(PowerShell 脚本)时,它可以正常工作
猜你喜欢
  • 2020-09-13
  • 2020-11-04
  • 2022-01-17
  • 2016-10-21
  • 2021-02-16
  • 2015-09-25
  • 2015-12-22
  • 1970-01-01
  • 2020-01-08
相关资源
最近更新 更多