Я хочу отправить в Kafka около 1 миллиона записей и использую производитель Kafka в Java со следующей конфигурацией:
props.put(ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, 600000);
props.put(ProducerConfig.LINGER_MS_CONFIG, 0);
props.put(ProducerConfig.BATCH_SIZE_CONFIG, 0);
props.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 60000);
но даже с такой конфигурацией я получаю:
org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for topic-2:601876 ms has passed since batch creation
Мой загрузочный сервер и Zookeeper находятся на моем локальном компьютере, и я отправляю avro
сообщение размером около 1 КБ.
Мой Java-код:
ProducerRecord record = new ProducerRecord(topic, avroObject);
producer.send(record, new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
if (exception == null) {
allData.setFlagSentAvro("1");
OutputRepository.save(allData);
} else {
exception.printStackTrace();
}
}
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... s-in-kafka
Просроченные записи в Кафке ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение