一、背景

设置kafka producer为Semantic.EXACTLY_ONCE会报Unexpected error in InitProducerIdResponse; The transaction timeout is larger than the maximum value allowed by the broker (as configured by max.transaction.timeout.ms)

二、分析并解决

1、查看官方文档,broker最大超时时间是15分钟

2、查看producer默认时间是1小时

broker最大超时时间是15分钟,而producer默认是1小时,不允许超过15分钟,我们解决办法是调整producer的时间:

setProperty("transaction.timeout.ms", "300000");//5分钟

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐