首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >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

作者头像
小小工匠
发布于 2023-10-27 08:45:32
发布于 2023-10-27 08:45:32
1.6K00
代码可运行
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构
运行总次数:0
代码可运行

问题描述

报错如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
....
....
Caused by: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation

原因分析

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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账户)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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版本)

如下的配置并没有修改

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


Code

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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();

    }

}

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
codeforces 1335E1+E2(思维)
数字出现的次数,这样就可以方便的找到出现次数最多的数字。然后枚举第一个和第三个区间即可,中间区间数字的个数也可以通过前缀和来计算
dejavu1zz
2020/10/23
2.6K0
codeforces 1335E1+E2(思维)
【算法竞赛】分块入门九题题解
原文连接:「分块」数列分块入门1 – 9 by hzwer - 分块 - hzwer.com
Livinfly
2023/05/16
7200
AtCoder Beginner Contest 177 A ~ E
C 思路:数据范围比较大,O(n^n)的复杂度肯定不可以,那么我们要分析式子 假设有一组数据:
杨鹏伟
2020/09/10
4250
AtCoder Beginner Contest 166 A ~~E
A 水题: #include<iostream> using namespace std; int main(){ string s; cin>>s; if(s=="ABC") cout<<"ARC"<<endl; else cout<<"ABC"<<endl; return 0; } B 水题: 主要是看懂就行,两个单词容易混淆,所以看样例理解比较好 #include<iostream> #define maxn 105 using namespace std; bool a[ma
杨鹏伟
2020/09/10
3390
AtCoder Beginner Contest 174 A ~ E
我看有人用指针来做的,其实道理是一样的,就是字符串中所有的R都在左边,然后所有的W都在右边就行了。
杨鹏伟
2020/09/10
3620
【算法竞赛】AtCoder Beginner Contest 284 D, F
赛时并没有意识到枚举范围在三次根号n里,加上自己手写的二分sqrt挂了(丢人),一直没过去,后面把sqrt部分改好也就过了。
Livinfly
2023/01/08
3380
AtCoder Beginner Contest 160 A ~ E
C 水题 题意:一开始没看懂题,就是围绕园的最北的那个点的距离,我一直看成了点都在池塘北面,在一条直线上!害
杨鹏伟
2020/09/11
2640
AtCoder Beginner Contest 160  A ~ E
【算法竞赛】Namomo Winter 2023 Day 3 Div 2
Dashboard - 2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest - Codeforces
Livinfly
2023/01/11
3750
AtCoder Beginner Contest 185 (手速场)
直接算C ( l − 1 , l − 12 )即可。由于题目中没有模数,偷懒使用了JAVA的大整数
dejavu1zz
2020/12/16
3420
AtCoder Beginner Contest 185 (手速场)
【算法竞赛】CF #816 (Div. 2) A-D Rethink
因为是下取整,所以,如果从sum里分出的[x/k]结果大于0的话,其实是相当于没分出去。
Livinfly
2022/10/26
2320
【算法竞赛 - 数据结构】数据分割
给T组数据,要把这些数据分割成,合法+非法(1个)。 输出,分割的组数,和每组组内的数据组数
Livinfly
2022/10/26
2720
【算法竞赛】CF #817(Div.4) A-G Rethink
呜,AB还好,C卡了一会儿(由于题意理解错误),D可以做差sort做,却模拟做,还WA了一发。
Livinfly
2022/10/26
2870
codeforces 1353E(dp)
题意描述 思路 image.png AC代码 #include<bits/stdc++.h> #define x first #define y second #define PB push_back
dejavu1zz
2020/10/23
3620
codeforces 1353E(dp)
AtCoder Beginner Contest 284(A~F)
A - Sequence of Strings ---- Original Link 题目大意: 输入 N 个字符串,倒序输出。 ---- 思想: 签到题。 ---- 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <cmath> #include <sstream> #include <vector> #include <queue> #include <stack> #i
浪漫主义狗
2023/02/18
4340
AtCoder Beginner Contest 273(A~D)
A - A Recursive Function ---- Origional Link 题目大意: 求 f(k) 如下: f(0) = 1; f(k) = k \times f(k - 1) ---- 思想: 签到题。 ---- 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <cmath> #include <sstream> #include <vector> #
浪漫主义狗
2022/10/28
3270
2020ICPC·小米 网络选拔赛热身赛
使用一个字符串来储存删除过后的字符串序列,使用一个变量来表示删除后的字符串下标。每次符合条件时,变量都要向前移3位,模拟这个过程即可。
dejavu1zz
2020/11/12
3080
2020ICPC·小米 网络选拔赛热身赛
【算法竞赛 - 搜索】Eight II
只是缺少了始末状态一致的数据,导致我血压高了几小时。(和标程对拍没有问题,交上去就WA)
Livinfly
2022/10/26
2330
2020年第一届辽宁省大学生程序设计竞赛
可以使用一个 p a i r pair pair数组来保存< i n t , s t r i n g int,string int,string>对,排序后按题意模拟即可。注意输出队员姓名的顺序是按照排名从大到小排列,并且要开 3 3 3倍 n n n的空间。
dejavu1zz
2020/11/24
5960
2020年第一届辽宁省大学生程序设计竞赛
Codeforces Round #677 (Div. 3)
显然,如果最大值和最小值相同,则肯定不满足题意。否则,一定存在一个值mx,它的左右两边存在一个小于它的数。此时,该位置的鱼满足题意。
dejavu1zz
2020/10/21
5920
Codeforces Round #677 (Div. 3)
【算法竞赛 - 搜索】Black And White
n*m的棋盘,用k种颜色(每种颜色可以染Ci次)染完,且没有十字相邻格子的颜色一致。
Livinfly
2022/10/26
3180
相关推荐
codeforces 1335E1+E2(思维)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档