Kafka : KafkaProducer Closing the kafka producer with timeoutMillis

2023-11-19

1.美图

在这里插入图片描述

2.背景

一段kafka写入程序,不晓得为啥突然发现很多奇怪的日志。
kafka 多线程发送数据,然后在本地是可以的,在服务器上是偶现的

在这里插入图片描述
我写了一个本地程序多线程生产数据,发现是没有问题的。

@Test
    public void multiThreadProducer() throws InterruptedException {

        Properties prop = new Properties();
        prop.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
        prop.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.IntegerSerializer");
        prop.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");


        int i = 0;
        while (i < 20) {
            new Thread(new Runnable() {

                @Override
                public void run() {
                    KafkaProducer<Integer, String> producer = new KafkaProducer<Integer, String>(prop);
                    Integer messageNo = 1;
                    while (true) {
                        String messageStr = "Message_" + messageNo;
                        RecordMetadata result = null;
                        try {
                            result = producer.send(new ProducerRecord<Integer, String>("topic_lcc", messageNo, messageStr)).get();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        } catch (ExecutionException e) {
                            e.printStackTrace();
                        }
                        System.out.println("发送消息" + result);
                        ++messageNo;
                    }
                }
            }, "thread" + i).start();
            i++;
        }

        Thread.sleep(Integer.MAX_VALUE);

    }

猜测是Host连接问题:参考添加链接描述

但是,我们是采用Ip直接访问的,应该也不是这个错误,并且telnet zk和kafka的地址端口,都是通畅的。

"KafkaProducer Closing the Kafka producer with timeoutMillis"是KafkaProducer在关闭时遇到的超时错误。这通常意味着关闭KafkaProducer实例时花费的时间超过了预期的超时时间。
要解决这个问题,可以考虑以下几个步骤:

  1. 增加超时时间:尝试增加timeoutMillis的值,给KafkaProducer更多的时间来关闭。可以根据实际情况逐渐增加超时时间,直到不再出现超时错误。

  2. 检查网络连接:确保KafkaProducer实例与Kafka集群之间的网络连接正常。检查网络配置、防火墙设置等,确保能够正常连接到Kafka集群。

  3. 检查Kafka集群状态:验证Kafka集群的健康状态,确保没有任何故障或资源耗尽的情况。可以使用Kafka提供的管理工具(如kafka-topics.sh、kafka-consumer-groups.sh等)进行集群状态检查。

  4. 代码优化:检查代码中是否存在任何潜在的性能问题或资源泄漏。确保在使用完KafkaProducer后正确关闭和释放相关资源。

  5. 更新Kafka版本:如果您正在使用较旧的Kafka版本,考虑升级到最新版本,以便获得更好的稳定性和性能。

  6. 联系支持:如果以上步骤都没有解决问题,可以联系Kafka的技术支持或在Kafka社区寻求帮助,他们可能能够提供更具体的解决方案。

请注意,具体解决方法可能因您的环境和使用情况而异。建议根据实际情况进行调试和排查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kafka : KafkaProducer Closing the kafka producer with timeoutMillis 的相关文章

  • 在java中将StreamWriter转换为OutputStream?

    我正在尝试使用 System setOut 将 System out 重定向到字符串 它需要一个 PrintStream 有什么方法可以将 StringWriter 转换为 Stream 以便我可以将其传递给 setOut 吗 你不能完全这
  • 如何在java swing中的每个页面中打印带有页脚的整个JPanel

    好吧 这可能很简单 但想不通 我有一个包含 JTable 的 JPanel JTable 包含很少的行 有时更多 因为我推入其中的表模型取决于数据库 但是 我不使用任何包含 JTable 的 JScolpane 因此 当 JTable 包含
  • 如何使用 SLF4J 和 Log4j2 记录 FATAL(或任何自定义日志级别)

    我有那些具体的要求 需要能够登录FATAL level 需要使用SLF4J 需要使用Log4j2 现在 这是我的执行 final Logger logger LoggerFactory getLogger HelloWorld class
  • V8 如何管理它的堆?

    我知道V8的垃圾收集在工作时 会从GC的root开始追踪 这样无法到达的对象就会被标记然后被清除 我的问题是GC是如何遍历那些对象的 必须有一个数据结构来存储所有可达或不可达的对象 位图 链接表 顺便说一句 JVM 也做同样的事情吗 艾伦秀
  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • java“void”和“非void”构造函数

    我用 java 编写了这个简单的类 只是为了测试它的一些功能 public class class1 public static Integer value 0 public class1 da public int da class1 v
  • 如何在 OpenAPI 3.0 中定义字节数组

    我正在将 API 从 Swagger 2 0 迁移到 OpenAPI 3 0 在 DTO 中 我有一个指定为字节数组的字段 Swagger 对 DTO 的定义 Job type object properties body type str
  • firestore快照监听器生命周期和定价之间有什么关系?

    在我的活动中 我有一个字符串列表 这些字符串表示我想要附加快照侦听器的 Firestore 文档 我使用 Acivity ModelView 存储库结构 在活动的 onCreate 中 我向 ViewModelProvider 询问适当的
  • 如何在具有动态列的表中插入值 Jdbc/Mysql

    我想在具有动态列的表中添加值 我设法创建一个包含动态列的表 但我不知道如何插入数据 Create Table sql CREATE TABLE MyDB myTable level INTEGER 255 int columnNumber
  • 无法从后台服务通过 WiFi 访问互联网

    我将直接介绍我发现的一些事实 数据 如果您遇到 解决了类似的问题 请帮助我 我每 5 分钟向服务器发送一次数据 除非用户在服务器的帮助下手动将其关闭 wakeful broadcast receiver通过一个intent service
  • 您能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?

    我们使用的是 Tomcat 6 的 Windows 安装 默认情况下 我们应用程序的 log4j 输出将转到 catalina base logs stdout log 文件 该日志文件仅在我们重新启动 Tomcat 时滚动 并且文件名始终
  • java JFileChooser 文件大小过滤器

    我知道我可以按文件类型进行过滤 但是可以按文件大小进行过滤吗 例如 JFileChooser 仅显示 3 MB 以内的图片 简短的回答应该是 你尝试过什么 长答案是肯定的 JFileChooser fc new JFileChooser f
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 字节码和位码有什么区别[重复]

    这个问题在这里已经有答案了 可能的重复 LLVM 和 java 字节码有什么区别 https stackoverflow com questions 454720 what are the differences between llvm
  • 存储过程将多个表返回到 spring jdbc 模板

    我正在使用 JdbcTemplate 从 Spring DAO 类调用存储过程 我的问题是 存储过程返回多个表 有没有办法使用 Spring JdbcTemplate 访问多个表 如果我使用jdbcTemplate queryForList
  • 是什么原因导致“对象不是声明类的实例”? [复制]

    这个问题在这里已经有答案了 可能的重复 使用反射调用方法时 为什么会出现 对象不是声明类的实例 https stackoverflow com questions 7202988 why do i get object is not an
  • Java SE + Spring Data + Hibernate

    我正在尝试使用 Spring Data Hibernate 启动 Java SE 应用程序 并且到目前为止已经完成了以下操作 配置文件 Configuration PropertySource classpath hibernate pro
  • 日期时间解析异常

    解析日期时 我的代码中不断出现异常错误 日期看起来像这样 Wed May 21 00 00 00 EDT 2008 这是尝试读取它的代码 DateTimeFormatter formatter DateTimeFormatter ofPat

随机推荐

  • java中的静态关键字

    Java中的static关键字在java编程中被大量使用 Java static关键字用于在java中创建类级别变量 静态变量和方法是类的一部分 而不是类的实例 java中的静态关键字 Java static keyword can be
  • 如何在 Apache 和 Nginx 上配置 OCSP 装订

    介绍 OCSP 装订是一种 TLS SSL 扩展 旨在提高 SSL 协商的性能 同时维护访问者隐私 在继续配置之前 先简要介绍一下证书吊销的工作原理 本文使用免费证书由 StartSSL 发出来演示 本教程将使用下面概述的 Apache 和
  • 在 Linux 中创建分区 - 分步指南

    在本教程中 我们将介绍在 Linux 中创建分区的步骤 这可以帮助您为特定用途分配不同的内存区域 创建分区还可以帮助您在计算机上安装多个操作系统 并最大限度地减少磁盘损坏时的损坏 如何在Linux中创建分区 在本教程中 我们将使用 fdis
  • Python实战项目23个实战小项目小程序简单

    Python项目23个小项目简单 项目类别 部分项目运行截图 含代码注释 项目类别 51商城 AI智能联系人管理 双击即启动 BBS问答社区 DIY字符画 双击即启动 Excel数据分析师 双击即启动 RCQ读者书库 双击即启动 Word助
  • LaTeX+Overleaf 论文速通教程

    一 文本 排版 二 章节和段落 三 数学公式 四 插入图片 五 插入表格 六 参考文献与交叉引用 不使用BibTeX 使用BibTeX 推荐 七 交叉引用label和ref Overleaf开发界面 latex命令 命令 可选参数 必选参数
  • 【ts】使用ts的vue项目必须安装的插件和要进行的配置(一般使用搭建vue的时候脚手架会帮忙弄好,但是还是要知道项目里这些代码都是什么)

    使用ts的项目 是需要安装ts loader来处理 ts文件的 例如babel loader是用于处理js文件 而ts就是ts loader 先确保项目是否安装了webpack和typescript npm install webpack
  • 前端面试话术集锦第 14 篇:高频考点(React常考基础知识点)

    这是记录前端面试的话术集锦第十四篇博文 高频考点 React常考基础知识点 我会不断更新该博文 1 生命周期 在V16版本中引入了Fiber机制 这个机制一定程度上的影响了部分生命周期的调用 并且也引入了新的2个API来解决问题 在之前的版
  • 深度学习用streamlit做网页demo

    CSDN话题挑战赛第2期 参赛话题 学习笔记 深度学习 图像生成领域许多工作都会做网页demo 技术与应用接轨 让用户体验模型能力 之前试过用轻量级Web应用框架Flask将深度学习模型部署到微信小程序端 pytorch模型部署小程序 三思
  • 智能机器人编程有必要学吗?

    机器人编程是由各种传统的学科构成的 例如 数学 物理 化学 结构 建筑 地理 生物 能源 信息技术等 学习机器人可以培养孩子的各种能力 包括动手 想象 创造 观察 分析 判断 归纳 理解 决策 组织 实验 计划性 条理性等 如果你正为这些纷
  • 31种选择器的应用

    选择器 selector 是CSS中很重要的概念 所有HTML语言中的标记都是通过不同的CSS选择器进行控制的 用户只需要通过选择器对不同的HTML标签进行控制 并赋予各种样式声明 即可实现各种效果 1 1 margin 0 padding
  • 2021.1.18

    标题 标题 标题 标题 标题 标题 引用 1 代码引用 for i in range 100 print hello world 三个反引号 语言类别插入代码框 2 句中引用 ban掉菲奥娜 3 单行引用 亚索示意敌人已不见踪影 亚索已经0
  • 【9】Docker的迁移与备份

    1 容器保存为镜像 实际工作中经常会使用到 docker commit 容器名称 保存为新镜像的名称 不能和已有的镜像名称重复 我们可以通过以下的命令将容器保存为镜像 docker commit redis myredis 根据新保存的 镜
  • ping

    为什么ping不通 1 ping不通也有好几种返回信息的 Ping不成功的返回信息有 Request Timed Out Destination Net Unreachable 和 Ba d IP address 还有 Source que
  • 3个超好用的图片压缩软件,超高压缩比,保持图片清晰度

    分享3个好用的图片压缩工具 不仅可以大大压缩图片大小 还能保持图片分辨率 压缩后的图片画质也能保持清晰 1 一键抠图 一个智能抠图在线网站 支持人像抠图 物品抠图和证件照之外 除此之外 还有图片压缩 图片格式转换 图片编辑 照片修复等功能
  • ValueError: embedded null character

    问题 报错 ValueError embedded null character 原因 路径中包含 0 被认为是转义字符 不会自动识别为路径 导致报错 需注意含 0 t 等特殊转义字符的路径 解决方案 路径改为 1 D 00pythonPr
  • 电源滤波电路的设计

    一 电源滤波技术 常用的滤波措施有 去耦电容 电感 磁珠等 常用的滤波场景有 电源滤波 接口滤波等 在进行PCB设计时 滤波器件的摆放位置相当关键 对于电容类去耦的滤波原则是靠近滤波区域位置放置最佳 在滤波电路的EMC设计中 滤波的作用基本
  • 电磁场仿真工具们

    首先说明两点 1 不同的商用电磁场仿真工具可能采用的算法不同 但对于偏上电感等常见结构 在各仿真器设置正确的情况下 各仿真工具得到的结果应该相似 如果对仿真结果有疑问 最简单的验证方法是 对同一模型使用不同原理的两种电磁场仿真工具进行仿真
  • vue2使用 tinymce富文本编辑器-图片上传、粘贴图片上传致服务器

    1 安装tinymce富文本编辑器插件 npm i tinymce npm i tinymce tinymce vue 2 创建Editor js文件 封装组件 以便使用
  • c1048: [编程入门]自定义函数之字符串拷贝

    题目描述 有一字符串 包含n个字符 写一函数 将此字符串中从第m个字符开始的全部字符复制成为另一个字符串 输入 数字n 一行字符串 数字m 输出 从m开始的子串 样例输入复制 6 abcdef 3 样例输出复制 cdef 思路 两种方法 一
  • Kafka : KafkaProducer Closing the kafka producer with timeoutMillis

    1 美图 2 背景 一段kafka写入程序 不晓得为啥突然发现很多奇怪的日志 kafka 多线程发送数据 然后在本地是可以的 在服务器上是偶现的 我写了一个本地程序多线程生产数据 发现是没有问题的 Test public void mult