最近开始部署一个工程时遇到了Kafka消费的问题,报错信息如下:
1 2 3 4 5 6 7 8 9 10 |
18/05/04 09:46:39 INFO consumer.SimpleConsumer: Reconnect due to socket error: java.nio.channels.ClosedChannelException java.nio.channels.ClosedChannelException at kafka.network.BlockingChannel.send(BlockingChannel.scala:100) at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:78) at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68) at kafka.consumer.SimpleConsumer.send(SimpleConsumer.scala:91) at zhyea.consume.consumer.KafkaReader$.partitionLeaders(KafkaReader.scala:33) at zhyea.consume.consumer.KafkaReader$$anonfun$partitionLeaders$2$$anonfun$apply$1.apply(KafkaReader.scala:58) at zhyea.consume.consumer.KafkaReader$$anonfun$partitionLeaders$2$$anonfun$apply$1.apply(KafkaReader.scala:55) at scala.collection.immutable.Stream.flatMap(Stream.scala:442) |
相关的工程已经在测试环境测试过了,部署到新的环境上却报错了。所以这个问题应该是环境问题或配置问题。
进入Kafka源码可以发现这个问题是在连接Kafka Broker时出现的。所以这个问题应该是网络连接导致的。找运维部的同事看了一下,确认是相关的节点与Kafka集群的通信被屏蔽了。解除屏蔽后问题就得到修复了。
在StackOverflow上也查过相关的问题,多是类似的缘故,比如host的错误配置等。
发表评论