【发布时间】: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