我是Apache Kafka的新手,想知道apache Kafka中的消息有多大。是否有效使用Apache Kafka的消息大小变得相当大,让我们说几百MB?
我有一个场景,我想将文件复制到HDFS以供Hadoop作业使用,这些文件也被其他进程使用。我想首先将文件复制到Apache Kafka,然后消费者可以将它们复制到HDFS,而其他消费者则使用Kafka。这是最好的方法吗?
答案 0 :(得分:1)
max.message.bytes 属性定义了Kafka允许附加到主题的最大邮件大小。请注意,如果增加此大小,则还必须增加消费者的提取大小,以便他们可以获取此大的消息。
同时更新有关您的来源的更多详细信息,以便我们可以评估kafka是否是最佳工具。
答案 1 :(得分:0)
您拥有一个消费者集的体系结构只是简单地写入HDFS,而另一个消费者集使用相同的消息但是为了计算,例如,已经在真正的生产部署中使用,我的工作效果很好。
至于你对邮件大小的关注,如果我认为内存是无限的,那么你的建议没有问题。否则,如果您有内存限制,那么我建议您将每条消息分解为生产者中的固定大小的块,因为Kafka的代理和消费者中的消息大小是您为主题中的所有此类消息配置的硬限制,所以调整它是一种皇家的痛苦。应该可以很容易地使用固定大小的块和一个指示偏移量的键,并使用偏移量来重新组合消费者端的每条消息。
这种确切的情况也以上述方式出现并得到解决。祝你好运。