【问题解决】Kafka报错 Bootstrap broker x.x.x.x:9092 (id: -1 rack: null) disconnected

2023-05-16

问题复现

近日针对某一客户需求开发了一个需要使用Kafka的功能,功能是什么暂且不论,在本地虚机的Kafka连接一切正常遂放到测试服务器上验证功能,以下是监听topic成功和警告报错:

2023-05-09 10:22:23 [localhost-startStop-1] INFO  org.apache.kafka.clients.consumer.ConsumerConfig - ConsumerConfig values: 
	allow.auto.create.topics = true
	auto.commit.interval.ms = 5000
	auto.offset.reset = earliest
	bootstrap.servers = [10.39.48.113:9092]
	check.crcs = true
	client.dns.lookup = use_all_dns_ips
	client.id = consumer-enn-jiuqi-1
	client.rack = 
	connections.max.idle.ms = 540000
	default.api.timeout.ms = 60000
	enable.auto.commit = false
	exclude.internal.topics = true
	fetch.max.bytes = 52428800
	fetch.max.wait.ms = 500
	fetch.min.bytes = 1
	group.id = enn-jiuqi
	group.instance.id = null
	heartbeat.interval.ms = 3000
	interceptor.classes = []
	internal.leave.group.on.close = true
	internal.throw.on.fetch.stable.offset.unsupported = false
	isolation.level = read_uncommitted
	key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
	max.partition.fetch.bytes = 1048576
	max.poll.interval.ms = 300000
	max.poll.records = 500
	metadata.max.age.ms = 300000
	metric.reporters = []
	metrics.num.samples = 2
	metrics.recording.level = INFO
	metrics.sample.window.ms = 30000
	partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]
	receive.buffer.bytes = 65536
	reconnect.backoff.max.ms = 1000
	reconnect.backoff.ms = 50
	request.timeout.ms = 30000
	retry.backoff.ms = 100
	sasl.client.callback.handler.class = null
	sasl.jaas.config = null
	sasl.kerberos.kinit.cmd = /usr/bin/kinit
	sasl.kerberos.min.time.before.relogin = 60000
	sasl.kerberos.service.name = null
	sasl.kerberos.ticket.renew.jitter = 0.05
	sasl.kerberos.ticket.renew.window.factor = 0.8
	sasl.login.callback.handler.class = null
	sasl.login.class = null
	sasl.login.refresh.buffer.seconds = 300
	sasl.login.refresh.min.period.seconds = 60
	sasl.login.refresh.window.factor = 0.8
	sasl.login.refresh.window.jitter = 0.05
	sasl.mechanism = GSSAPI
	security.protocol = PLAINTEXT
	security.providers = null
	send.buffer.bytes = 131072
	session.timeout.ms = 45000
	socket.connection.setup.timeout.max.ms = 30000
	socket.connection.setup.timeout.ms = 10000
	ssl.cipher.suites = null
	ssl.enabled.protocols = [TLSv1.2]
	ssl.endpoint.identification.algorithm = https
	ssl.engine.factory.class = null
	ssl.key.password = null
	ssl.keymanager.algorithm = SunX509
	ssl.keystore.certificate.chain = null
	ssl.keystore.key = null
	ssl.keystore.location = null
	ssl.keystore.password = null
	ssl.keystore.type = JKS
	ssl.protocol = TLSv1.2
	ssl.provider = null
	ssl.secure.random.implementation = null
	ssl.trustmanager.algorithm = PKIX
	ssl.truststore.certificates = null
	ssl.truststore.location = null
	ssl.truststore.password = null
	ssl.truststore.type = JKS
	value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer

2023-05-09 10:22:23 [localhost-startStop-1] INFO  org.apache.kafka.common.utils.AppInfoParser - Kafka version: 3.0.1
2023-05-09 10:22:23 [localhost-startStop-1] INFO  org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: 8e30984f43e64d8b
2023-05-09 10:22:23 [localhost-startStop-1] INFO  org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1683598943212
2023-05-09 10:22:23 [localhost-startStop-1] INFO  org.apache.kafka.clients.consumer.KafkaConsumer - [Consumer clientId=consumer-test-1, groupId=test-group] Subscribed to topic(s): sync_user


2023-05-09 10:23:50 [org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] WARN  org.apache.kafka.clients.NetworkClient - [Consumer clientId=consumer-test-1, groupId=test-group] Bootstrap broker 10.39.48.113:9092 (id: -1 rack: null) disconnected

可以注意到日志最后有1条警告,其实我只放了一条,这个信息在日志里多滴很。

分析问题

客户对接方发送了一条消息问我们消费到没,我一查日志,满屏是WARN提示 Bootstrap broker 10.39.48.113:9092 (id: -1 rack: null) disconnected,真是小刀拉屁股——开了眼。

打开Google Bard机器人问问这是啥原因导致的:

可能是网络原因导致的,查了下其他博客说也有可能是开启了某种认证机制导致的。

通过ping发现能ping通broker,但是通过telnet却无法连接了,也就是说:这台测试服务器与kafka broker间的网络被限制为可以ping但不能访问broker的端口号!

解决办法

查看了下测试服务器的iptables链没发现问题,自己通过tcpdump抓包用wireshark分析发现只有SYN包没响应,找到客户网络工程师定位到是公司的网络策略限制了。至此问题解决,希望能给读者一个思路。

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

【问题解决】Kafka报错 Bootstrap broker x.x.x.x:9092 (id: -1 rack: null) disconnected 的相关文章

  • [分布式] zookeeper集群与kafka集群

    目录 一 Zookeeper 概述 1 1 Zookeeper定义 1 2 Zookeeper 工作机制 1 3 Zookeeper 特点 1 4 Zookeeper 数据结构 1 5 Zookeeper 应用场景 1 6 Zookeepe
  • WEB前端网页设计-Bootstrap4 导航栏

    目录 Bootstrap4 导航栏 垂直导航栏 居中对齐的导航栏 不同颜色导航栏 品牌 Logo 折叠导航栏 导航栏使用下拉菜单 导航栏的表单与按钮 导航栏文本 固定导航栏 Bootstrap4 导航栏 导航栏一般放在页面的顶部 我们可以使
  • 公司实战 ElasticSearch+Kafka+Redis+MySQL

    一 需求 前一段时间公司要进行数据转移 将我们ES数据库中的数据转移到客户的服务器上 并且使用定时将新增的数据同步 在这过程中学到了很多 在此记录一下 二 技术栈 Mysql Redis ElasticSearch Kafka 三 方案 为
  • Kafka 架构及原理分析

    Kafka 架构及原理分析 文章目录 Kafka 架构及原理分析 简介 使用场景 架构 Broker Topic 副本机制 存储 消费分组 消费编号 数据多写支持 基于 binlog 实现主从复制 Kafka 的进阶功能 消息幂等性 事务
  • 【Docker安装部署Kafka+Zookeeper详细教程】

    Docker安装部署Kafka Zookeeper Docker拉取镜像 Docker拉取zookeeper的镜像 docker pull zookeeper Docker拉取kafka的镜像 docker pull wurstmeiste
  • Kafka——Mac搭建kafka环境

    1 下载Kafka安装包 下载地址 将压缩包移动到 usr local mv kafka 2 12 3 1 0 tgz usr local 解压 tar zxvf kafka 2 12 3 1 0 tgz 2 启动 启动zookeeper
  • 【源码篇】基于ssm+bootstrap+jquery的学生成绩管理系统

    系统介绍 基于ssm bootstrap jquery的学生成绩管理系统一共分为六大模块 分别是用户管理 课程管理 班级管理 学籍管理 学费管理 成绩管理 用户管理 1 用户信息预览 查询并根据姓名搜索系统用户 2 新增用户信息 添加系统用
  • kafka的新API 得到最新一条数据

    业务的需要 需要得到最新的一条消息从kafka中 但是发现ConsumerRecords 这个对象并没有 get index 这种方式的获取并且只能 iterator 或者增强for 循环这种方式来循环 记录 但是有一个count 可以得到
  • Rails 3.x 是否有调试工具栏

    I used 机架 错误一年多前 现在我想将它与新的 Rails 3 1 项目一起使用 我尝试安装 master 和 Rails3 分支 但没有成功 也尝试过一些 github 分支但他们也没有工作 有没有具有相同功能的替代方案 附 我已经
  • 在同一脚本中启动并调用 Ruby HTTP 服务器

    我想知道如何启动 Ruby Rack 应用程序 例如 Sinatra 并在同一脚本中使用 Net HTTP 或类似方法调用它 当然我可以做类似的事情 require sinatra base require net http t Threa
  • WebSphere Message Broker - 如何发送 PCF 消息

    我们需要从 MB 流发出一些 MQ 命令 解决方法是发送 PCF 命令 但我不知道如何创建它 有什么指点吗 塞巴斯蒂安 要通过 PCF 消息向 MQ 队列管理器发出命令 您可以查看 nix 上或安装 MQ 的位置的 opt mqm samp
  • Heroku Cedar 上的静态网站

    我尝试按照说明进行操作here http devcenter heroku com articles static sites on heroku为了在 Heroku 的 Cedar 堆栈上创建一个静态网站 我已经把网站放上来了here h
  • 我的 Rackup 文件出了什么问题?

    当我尝试启动我的独角兽服务器时 我得到了下一个堆栈跟踪 无法理解rackup 文件有什么问题 为什么不可读 sites bck fatfreecrm home sites rvm gems ruby 1 9 2 p180 fatfreecr
  • 在 RabbitMQ 中,哪个更昂贵,每个交换器有多个队列,还是多个交换器且每个交换器有更少的队列?

    因此 我们决定在向微服务架构的迁移中使用 RabbitMQ 作为消息 事件总线 但我们无法找到放置队列的最佳方式的明确答案 我们有两个选择 One main exchange which will be a Fanout exchange
  • Kafka:动态更新 jaas 配置

    我已经使用 kafka 设置了 jaas 配置sasl jaas config财产 我想更新此配置并动态添加用户 根据这个文档 http kafka apache org 11 documentation html dynamicbroke
  • 为什么 Foreman 在我按下 Control-C 之前不会输出一些内容?

    我刚刚开始使用 Rails 编程 看起来有两个程序可以用来在本地运行我的项目 rackup 和 foreman 我注意到的一个区别是 foreman 不会输出一些我希望看到的内容 而我会查看是否运行rackup 直到我按 ctrl c 关闭
  • 如何从我的 Rack 应用程序中删除“服务器”HTTP 响应标头

    我试图从 Heroku 上运行的 ruby on Rails 应用程序的 http 响应标头中删除服务器信息 但我陷入困境 检查响应标头给我 Server thin 1 5 0 codename Knife 有人能指出我正确的方向吗 Thi
  • Sinatra 测试总是 404'ing

    我有一个非常简单的 Sinatra 应用程序 但在测试时遇到了问题 基本上 当我从浏览器中的测试得知该请求工作正常时 每个请求测试都会返回 404 关于问题可能是什么的任何想法吗 测试助手 rb ENV RACK ENV test lt l
  • 更改 Rack Middleware 中的 response.body

    我正在尝试为 Rails 4 2 应用程序编写一些机架中间件 该中间件使用以下命令更改响应正文gsub方法 我发现使用这样的模式的旧示例 class MyMiddleware def initialize app app app end d
  • Mongoid 4 / MongoDB 2.4+“冻结”问题

    自从使用 Mongoid 维护与 mongodb 的连接以来 我遇到了一个奇怪的问题 我认为这最初是由于升级到 Rails 4 0 需要更新 Mongoid Moped 但我在其他基于 Rack 的应用程序 具体来说是 Sinatra 和

随机推荐