关于org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.问题的解决 - Go语言中文社区

关于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.问题的解决

今天在测试自己编写的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集群,并且正常收发消息,问题解决。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42558056/article/details/98755306
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢