【问题标题】:KafkaProducer not producing message > 1 MB to topicKafkaProducer 未生成消息 > 1 MB 到主题
【发布时间】:2020-02-27 18:19:22
【问题描述】:

我正在使用 kafka_2.11-2.2.1。我在 server.properties 中有以下设置。

message.max.bytes=20971520
replica.fetch.max.bytes=23068672

代码级别的生产者配置。

@Bean("serviceKafkaTemplate")
public KafkaTemplate kafkaTemplate(@Autowired final ProducerFactory producerFactory) {
    return new KafkaTemplate(producerFactory);
}

 @Bean
public ProducerFactory<String, Object> producerFactory() {
    return new DefaultKafkaProducerFactory(props());
}

 private Properties props() {
    Properties properties = new Properties();     
    properties.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "gzip");
    properties.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 10000);
    properties.put(ProducerConfig.BATCH_SIZE_CONFIG, 1);
    properties.put(ProducerConfig.LINGER_MS_CONFIG, 1);
    properties.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 15728640);
    properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    return properties;
}

@Autowired
private KafkaTemplate serviceKafkaTemplate;

serviceKafkaTemplate.send("topic_name", data);

我只说生产者而不是消费者。当我通过 cmd 检查偏移量时,它不会增加,这意味着生产者没有发送数据。 I 数据大小小于 1 MB,然后它正在工作,当前大小为 1.75 MB。在 kafka server.log 文件中也没有与此相关的内容。如果我错过任何配置,请告诉我。

【问题讨论】:

  • 生产者应用的日志是怎么说的?
  • 你设置了主题级别的配置max.message.bytes 吗?
  • @mazaneicha 如果我没有指定它不是默认为经纪人的 message.max.bytes 这已经是他们的了。
  • @cricket_007 什么也没说。

标签: java spring apache-kafka spring-kafka kafka-producer-api


【解决方案1】:

请看房

max.request.size=1048576

当前文档中的描述:

请求的最大大小(以字节为单位)。此设置将限制生产者在单个请求中发送的记录批次数,以避免发送大量请求。这也有效地限制了最大记录批量大小。请注意,服务器对记录批量大小有自己的上限,可能与此不同。

认为这应该对您有所帮助。另请查看文档。

Apache Kafka documentation - producer configs

【讨论】:

  • 谢谢,但我想我已经在 props() 中将此属性指定为 properties.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 15728640);大约是 15 MB。
  • 我们在 kafka 上设置了属性,这对我们来说很好用。也许它是与其他属性的组合。我们将以下设置为 5MB。 REPLICA_MAX_PARTITION_FETCH_BYTES、REPLICA_FETCH_MAX_BYTES、PRODUCER_MAX_REQUEST_SIZE、CONSUMER_MAX_PARTITION_FETCH_BYTES。可以试试吗?
猜你喜欢
  • 2016-09-21
  • 1970-01-01
  • 2017-12-06
  • 2017-05-23
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
相关资源
最近更新 更多