关于org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.问题的解决

news/2024/11/6 9:28:43/

关于org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.问题的解决

今天在测试自己编写的kafka消息发送接收小例子时,一直报org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms的问题,

org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

记录一下解决问题的过程。
1.首先我检查了bootstrap.servers,TOPIC = "kafkatest"与集群的对应并没有问题
2.通过查阅资料,我怀疑是我的kafka依赖与集群kafka版本不一致,因为我是用ambai搭建并管理的集群,所以与传统的手搭集群还是有些区别。

  • 查看我集群的kafka版本:
    命令:
cd /usr/hdp/2.5.3.0-37/kafka/libs
ls

在这里插入图片描述通过图片上我们可以看到有很多类似kafka_2.10-0.10.0.2.5.3.0-37.jar的jar文件,其中2.10代表scala的版本,0.10.0代表kafka版本,2.5.3.0代表ambari的版本
然后查看我项目中的pom.xml版本,并没有问题,所以也排除了版本不一致的可能性

  <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.10</artifactId><version>0.10.0.0</version></dependency>

3.排除前两种情况的可能性后,我认为可能是我kafka监听端口连接不上,所以我查看了kafka配置文件中监听端口发现显示为

listeners=PLAINTEXT://localhost:6667

我意识到这可能就是问题所在,因为我连接的是远程服务器的kafka服务,这里就需要改成IP和正确的端口号,如果是手动搭建的kafka集群,直接修改配置文件即可。

  • 命令(在kafka目录下):
cd config
vi server.properties

在这里插入图片描述
但如果你和我一样是ambari搭建的集群,那就不能直接手动改配置文件,需要在ambari管理界面去改kafka属性,因为如果集群重启,会自动还原所有手动更改的配置
在这里插入图片描述
去测试一下,成功连接kafka集群,并且正常收发消息,问题解决。


http://www.ppmy.cn/news/601605.html

相关文章

kafka连接异常org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

前言&#xff1a;网上很多说是hosts的问题&#xff0c;我经过测试发现不是&#xff0c;经过我自己测试&#xff0c;介绍三种针对大部分问题的解决方法 1.未开放防火墙端口或关闭防火墙 防火墙一般本地测试才会关闭&#xff0c;线上一般都是开启的&#xff0c;建议还是添加端口…

canal Failed to update metadata after 60000 ms 等问题解决

问题排查了一天&#xff0c;很长 问题描述&#xff1a; 需求 需要将mysql数据通过canal传入kafka 测试将正则匹配的表按照字段动态存入不同topic中 例如存在两类表 A_1 , A_2 , A_3 , B_1 , B_2 , B_3 A类表 -> topic_1 B类表 -> topic_2 canal最初对应配置如下 cana…

DataNode日志出现 60000 millis timeout while waiting for channel to be ready for read. ch

DataNode是Hadoop分布式文件系统(HDFS)中的节点&#xff0c;它负责存储文件系统中的数据块并处理来自客户端的数据读写请求。 如果在DataNode日志中出现“60000 millis timeout while waiting for channel to be ready for read. ch”&#xff0c;这意味着DataNode在等待与客户…

HBase RIT异常分析及其解决方案, region(s)in transistion for more than 60000 milliseceonds

最近的一段时间&#xff0c;HBase集群突然出现了一些异常&#xff0c;偶尔部分机器会出现RIT的情况&#xff0c; Region-In-Trasition机制 HBase在RegionState类中定义了Region的主要状态&#xff0c;主要有如下&#xff1a; 定义了四种会触发Region状态变迁的操作以及操作对应…

记一次连接泄漏GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0

com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0 活动的连接数为20&#xff0c; 最大的连接数为20&#xff0c; 活动的连接数与最大连接数相同&#xff0c;连接池用完了&#xff0c;在等待60秒后&#xff0c;…

com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20

本文目录 一、异常现象 二、异常描述 三、解决方案 3.1 properties配置文件中 3.2 xml配置文件中 四、注意事项 一、异常现象 com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0 二、异常描述 从异常现…

mysql 报wait millis 60000, active 0, maxActive 50, creating 0, createErrorCount 9913 错误 解决记录

1.由于在测试环境中&#xff0c;应用程序的微服务个数不是很多&#xff0c;且每个服务的连接池初始化链接数为:50,上线后一部分微服务出现大量以下的错误: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 50, creating 0, cr…

lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s) timeout 60000超时问题

有一台服务器 java程序不定期会出现Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s) 错误&#xff0c;导致应用出现 timeout 60000 错误&#xff0c;重启应用后&#xff0c;问题修复&#x…