Apache kafka 如何自动选择文件作为卡夫卡制作人';谁的输入?

Apache kafka 如何自动选择文件作为卡夫卡制作人';谁的输入?,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,我刚开始学习卡夫卡。我做了很多谷歌搜索,但仍然没有任何线索:我如何能够自动拾取作为制作人输入的文件夹中的文件,从而被消费者拾取?非常感谢。 作为起点,我尝试了以下代码,但它不起作用(简单地退出,没有错误): /kafka-console-producer.sh——代理列表沙盒。hortonworks.com:6667——主题kafka-topic1

我刚开始学习卡夫卡。我做了很多谷歌搜索,但仍然没有任何线索:我如何能够自动拾取作为制作人输入的文件夹中的文件,从而被消费者拾取?非常感谢。 作为起点,我尝试了以下代码,但它不起作用(简单地退出,没有错误):

/kafka-console-producer.sh——代理列表沙盒。hortonworks.com:6667——主题kafka-topic1

以下为最新情况:

我尝试了与创建生产者和消费者更完全相同的方法,我看到消费者一行一行地收到csv内容,但并不完整。 我马上又试了一次,我再也看不到结果了。 然后我做了控制台生产者和消费者收到的消息,在它之后我做了文件输入,消费者收到了,但顺序不正确,请参考屏幕截图

test.csv:

制作人:

消费者:

终止控制台生成器并启动文件生成器

在消费者中不会发生任何事情:

终止使用者并在重新启动生产者(文件)后重新启动它: 消费者收到文件:

请注意,顺序与原始顺序不同

再次运行生产者,消费者再次收到生产者:

序列似乎又“错”了

总之,这里很不稳定,有线索吗


顺便说一句:我测试了我的互联网连接速度,下载和上传速度都在10Mb/s左右

Kafka Console Producer不是为这个用例设计的。查看Kafka Connect--它允许为文件设置连续导入:


谢谢Matthias,这是合流解决方案的一部分,对吗?您是否可以在不使用confluent或其他第三方工具的情况下共享任何工作完整的示例?或者使用第三方工具(如confluent)是最常见的做法?谢谢。卡夫卡连接本身是ApacheKafka的一部分——因此,连接不是由Confluent提供的。但是,Kafka Connect是一个需要实际连接器的框架,Apache Kafka不提供任何连接器。您可以使用许多开源连接器——包括Confluent提供的连接器(Confluent还为Confluent Enterprise提供了一些专有连接器)。因此,如果您不想编写自己的连接器,则需要使用“第三方”连接器。我建议使用Confluent连接器(但我可能有偏见,因为我在Confluent工作),因为这些连接器的质量非常高。此外,这些连接器与ApacheKafka完全兼容——因此,您不需要担心“供应商锁定”或类似问题,如果您想使用它们,也不需要使用Confluent开源。请参阅此认证连接器列表(来自Confluent和其他“第三方”供应商和操作系统社区):CP文档应提供设置Kafka Connect(适用于Apache Kafka和Confluent平台)和配置连接器所需的所有信息。您还可以查看ApacheKafka文档:谢谢Matthias,今晚我将尝试一下
./kafka-console-producer.sh --broker-list sandbox.hortonworks.com:6667 --topic kafka-topic1 < test.csv