针对这个log,我入到mysql里时一个索引的问题,我把订单ID设置成唯一键,但是log的订单ID有重复的,导致入库报错,消费慢了 ,就导致消费阻塞。正常这个订单ID是不重复的。总结下来就是消费者报错导致的
timeout,网络问题,可以参考相关问题解决:kafka 远程配置报 Timed out waiting for a node assignment.
Error while executing topic command : org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
[2022-08-09 14:46:20,879] ERROR java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
at kafka.admin.TopicCommand$AdminClientTopicService.getTopics(TopicCommand.scala:254)
at kafka.admin.TopicCommand$AdminClientTopicService.describeTopic(TopicCommand.scala:204)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:66)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
(kafka.admin.TopicCommand$)
这个问题查到了,但是没法解决,目前把kafka重新安装同时把topic重新创建了 还是不行
你这个topic是有问题了,你查下该topic的情况:
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic mtalog_GamePlayerRechargeEvent --describe
默认是127.0.0.1
,所以需要修改server.properties
配置中的listeners
:
listeners= PLAINTEXT://10.25.110.107:9092
只配置listeners就好了
1、10.25.110.107
要是内网,并且在同一台机器执行创建topic操作的。
2、查看下kafka日志,是否有异常信息
3、换回127.0.0.1
,测试是默认是否正常(排除网络地址错误)。