Java 如何使用Kafka传输文件
我的过程会不时创建大量文件,我想将文件从本地目录传输到HDFS中的某个位置,而不是使用NiFi,是否可以用java开发该流。如果是,请给我一些Java参考代码来指导我Java 如何使用Kafka传输文件,java,apache-kafka,kafka-consumer-api,kafka-producer-api,Java,Apache Kafka,Kafka Consumer Api,Kafka Producer Api,我的过程会不时创建大量文件,我想将文件从本地目录传输到HDFS中的某个位置,而不是使用NiFi,是否可以用java开发该流。如果是,请给我一些Java参考代码来指导我 请帮帮我 我不知道卡夫卡中的消息大小是否有限制,但您可以在生产者/消费者属性中使用。将文件转换为字节,然后在使用者上重建 在快速搜索时,我找到了这个 message.max.bytes(默认值:1000000)–消息的最大大小 经纪人会接受的。这必须小于消费者 fetch.message.max.bytes,否则代理将具有无法访问
请帮帮我 我不知道卡夫卡中的消息大小是否有限制,但您可以在生产者/消费者属性中使用。将文件转换为字节,然后在使用者上重建 在快速搜索时,我找到了这个 message.max.bytes(默认值:1000000)–消息的最大大小 经纪人会接受的。这必须小于消费者 fetch.message.max.bytes,否则代理将具有无法访问的消息 被消费,导致消费者上吊
你可以做几件事:- 1) 使用Apache flume:-。此页面显示:-“Apache Flume是一个分布式系统,用于将文件聚合到单个位置。”此解决方案应优于使用kafka,因为它是专为文件设计的 2) 将Java代码写入ssh并扫描特定时间戳后修改的文件。如果发现这样的文件,请打开输入流并将其保存在运行java代码的机器上 3) 或者,您的java代码可以在创建文件的机器上运行,您可以扫描在特定时间戳之后创建的文件,并将其移动到任何新机器上 4) 如果你只想使用卡夫卡。您可以编写java代码来读取文件、查找最新的文件/行并将其发布到kafka主题。水槽可以做所有这些开箱即用