【发布时间】:2018-09-30 06:21:01
【问题描述】:
我有 Kafka 实例在 2 个不同的虚拟机中运行。我可以使用 spring kafka-template 向运行在 vm-1 中的 Kafka 发送消息,但是在向运行在 vm-2 中的 kafka 发送消息时,出现以下异常:
2018-04-19 15:12:57 [kafka-producer-network-thread | producer-1] 错误 o.s.k.s.LoggingProducerListener - 发送时抛出异常 key='xxxx' 和 payload='{79, 98, 106, 1, 4, 22, 97, 118, 114、111、46、115、99、104、101、109、97、-28、51、123、34、116、 12...' 到主题 xxxxxx-v1: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) 对于 xxxxxx-v1-3:自批处理创建以来已过去 60043 毫秒加上 linger 时间
生产者配置
config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, x.x.x.x:port);
config.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
config.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, ByteArraySerializer.class);
config.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 60000);
config.put(ProducerConfig.BATCH_SIZE_CONFIG, 1048576);
config.put(ProducerConfig.LINGER_MS_CONFIG, 100);
config.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 10485760);
config.put(ProducerConfig.ACKS_CONFIG, "all");
我可以远程登录到两个虚拟机,也可以 ping 它们。
【问题讨论】:
标签: apache-kafka kafka-producer-api spring-kafka