Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation

这篇具有很好参考价值的文章主要介绍了Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation,【MQ-Apache Kafka】,kafka,batch,分布式

问题描述

报错如下:

....
....
Caused by: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation

原因分析

这种情况,肯定要先看网络问题嘛

  • 首先查看本机防火墙的配置

结果都是关闭的 (建议开放特定端口)


[root@localhost bin]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@localhost bin]#

不关闭防火墙,但是建议本机防火墙开放特定端口,可以使用如下命令 (使用root账户)

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

比如



[root@localhost bin]# systemctl status  firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-10-26 10:13:10 CST; 2min 36s ago
     Docs: man:firewalld(1)
 Main PID: 40311 (firewalld)
    Tasks: 2
   Memory: 28.1M
   CGroup: /system.slice/firewalld.service
           └─40311 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Oct 26 10:13:10 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Oct 26 10:13:10 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Oct 26 10:13:10 localhost.localdomain firewalld[40311]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configurati...it now.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# firewall-cmd --zone=public --add-port=2181/tcp --permanent
success
[root@localhost bin]# firewall-cmd --zone=public --add-port=9092/tcp --permanent
success
[root@localhost bin]#
[root@localhost bin]# firewall-cmd --list-ports

[root@localhost bin]#
[root@localhost bin]# firewall-cmd --reload
success
[root@localhost bin]# firewall-cmd --list-ports
2181/tcp 9092/tcp
[root@localhost bin]#


  • 接着看看kafka中间件的配置, 问题就在这里

我并没有大改配置,具体的配置可参考 Kafak - 单机/集群快速安装指北(3.x版本)

如下的配置并没有修改Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation,【MQ-Apache Kafka】,kafka,batch,分布式

要解决这个问题,修改如上配置即可


Code

package com.artisan.pc;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;
import java.util.concurrent.ExecutionException;

/**
 * @author 小工匠
 * @version 1.0
 * @mark: show me the code , change the world
 */
public class CustomProducer {

    public static void main(String[] args) throws ExecutionException, InterruptedException {

        // 1. 创建kafka生产者的配置对象
        Properties properties = new Properties();

        // 2. 给kafka配置对象添加配置信息
        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.126.170:9092");

        // key,value序列化
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());

        // 3. 创建kafka生产者对象
        KafkaProducer<String, String> kafkaProducer = new KafkaProducer<String, String>(properties);

        // 4. 调用send方法,发送消息
        for (int i = 0; i < 10; i++) {
        	// 同步阻塞 
            RecordMetadata art = kafkaProducer.send(new ProducerRecord<>("art", "kafka-msg-" + i)).get();
            System.out.println(art.topic());
            System.out.println("over - " +i);
        }

        // 5. 关闭资源
        kafkaProducer.close();

    }

}
    

可以看消费者的控制台程序,输出正常

Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation,【MQ-Apache Kafka】,kafka,batch,分布式文章来源地址https://www.toymoban.com/news/detail-757540.html

到了这里,关于Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flink连接kafka报:org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic

    1、在网上搜了半天,大多数都是说需要改kafka的server.properties配置,指明0.0.0.0,外网才能访问( 其实是不对的,压根就不需要改,kafka安装好里面参数是啥就是啥 )。 2、还有说程序中引入的scala依赖需要跟Linux上运行的kafka内嵌的scala版本一致( 这个确实需要对应 ),但是改

    2024年02月12日
    浏览(45)
  • Kafka部署踩坑 1.Error connecting to node 2.ERROR org.apache.kafka.common.errors.TimeoutException

    部署kafka的时候出现了两个报错 下面分别说一下解决办法 1.Error connecting to node flink-server-test2:9092 (id: 1 rack: null) (org.apache.kafka.clients.NetworkClient) 问题分析:出现这个问题的原因如报错所说,连接到这个ip时出错,此时需要 检查host 有没有配置. 解决方法: 请配置你的ip. 配置后问题解

    2024年02月11日
    浏览(40)
  • kafka max.poll.records用法介绍

    max.poll.records是Kafka consumer的一个配置参数,表示consumer一次从Kafka broker中拉取的最大消息数目。默认值为500条。 在Kafka中,一个consumer group可以有多个consumer实例,每个consumer实例负责消费一个或多个partition的消息。每个consumer实例从broker中拉取消息可以拉取一个或多个消息。

    2024年02月03日
    浏览(29)
  • kafka通过命令行删除指定topic下所有records

     1、kafka环境配置  由于在windows环境下,在kafka官网下载下来Apache Kafka需要将E:kafka_2.12-3.3.1binwindows下的路径加入到环境变量中,方便直接使用kafka工具,其他系统直接使用bin下的工具即可: 2、配置kafka指定topic的json文件,命名为delete.json,此文件放在任意位置都可: 可以查

    2024年02月14日
    浏览(30)
  • Kafka中的max-poll-records和listener.concurrency配置

    1、max-poll-records是什么 max-poll-records 是Kafka consumer的一个配置参数,表示consumer一次从Kafka broker中拉取的最大消息数目,默认值为 500 条。在Kafka中,一个消费者组可以有多个consumer实例,每个consumer实例负责消费一个或多个partition的消息,每个consumer实例一次从broker中可以拉取一

    2024年01月17日
    浏览(57)
  • OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 论文阅读

    题目 :OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 作者 :Karmesh Yadav, Arjun Majumdar, Ram Ramrakhya 来源 :arxiv 时间 :2023 代码地址 : https://github.com/ykarmesh/OVRL 我们提出了一个由与任务无关的组件(ViT、卷积和 LSTM)组成的单一神经网络架构,该架构在 IMAGENAV(“转到 这

    2024年02月11日
    浏览(29)
  • 09、Kafka ------ 通过修改保存时间来删除消息(retention.ms 配置)

    Kafka并没有提供直接删除特定主题下消息的方法,只能是强制让消息过期之后,再来删除消息。 因此需要指定如下两个配置: 控制将指定主题下消息的保存时间设为一个很短时间: retention.ms(为特定主题设置) 控制 Kafka 尽快去检查消息是否过期(默认是5分钟检查一次)。

    2024年01月25日
    浏览(35)
  • kafka-producer batch.size与linger.ms参数

    Kafka 需要在吞吐量和延迟之间取得平衡,可通过下面两个参数控制。 当多个消息发送到相同分区时,生产者会将消息打包到一起,以减少请求交互. 而不是一条条发送 批次大小可通过 batch.size 参数设置。默认: 16KB 较小的批次大小有可能降低吞吐量。(设置为0则完全禁用批处理

    2024年02月14日
    浏览(22)
  • 【报错】:Module path has been externalized for browser...

    Vite2+Vue3下引入path模块报错:Module “path” has been externalized for brower compatibility and cannot be accesed in client code 原因是 vite 源码中设定了不允许在客户端代码中访问内置模块代码。 1,安装 npm install path-browserify 2,使用 path-browserify 代替 path 模块 3,不再使用 import path from \\\'path\\\' ,改

    2024年02月12日
    浏览(24)
  • 运行kafka控制台报错:Topic XXX not present in metadata after 60000 ms.解决

    kafka消息队列项目运行后报org.springframework.kafka.KafkaException: Send failed; nested exception is org.apache.kafka.common.errors.TimeoutException: Topic XXX not present in metadata after 60000 ms.错误, 可以尝试找到kafka的server.properties文件,进入记事本模式编辑,如果kafka配置参数设置了分区数为1( num.partitions=1 )

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包