我在Java8上有一个使用Kafka 0.8.2.1和Zookeeper 3.4.6的环境,并且在Linux (Centos7)环境下工作得很好。几天后(大约一个月),Kafka不再使用消息发布,包括来自控制台-消费者的消息发布,导致以下异常。
[2015-10-23 10:49:25,016] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,026] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,026] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: talBI (kafka.producer.async.DefaultEventHandler) [2015-10-23 10:49:25,138] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,146] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,147] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: talBI (kafka.producer.async.DefaultEventHandler) [2015-10-23 10:49:25,256] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,265] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,265] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: talBI (kafka.producer.async.DefaultEventHandler) [2015-10-23 10:49:25,377] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,390] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,390] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: talBI (kafka.producer.async.DefaultEventHandler) [2015-10-23 10:49:25,500] WARN Error while fetching metadata [{TopicMetadata for topic talBI -> No partition metadata for topic talBI due to kafka.common.LeaderNotAvailableException}] for topic [talBI]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo) [2015-10-23 10:49:25,501] ERROR Failed to send requests for topics talBI with correlation ids in [0,8] (kafka.producer.async.DefaultEventHandler) [2015-10-23 10:49:25,502] ERROR Error in handling batch of 1 events (kafka.producer.async.ProducerSendThread) kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:88)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:68)
at scala.collection.immutable.Stream.foreach(Stream.scala:547)
at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:67)
at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)主题上的describe产生了以下结果,看起来很正常:
Topic:talBI PartitionCount:1 ReplicationFactor:1 Configs:
Topic: talBI Partition: 0 Leader: 1 Replicas: 1 Isr: 1我尝试使用以下命令运行kafka首选副本选举命令行工具,但仍然出现同样的问题。
kafka-preferred-replica-election --zookeeper md1qacat01.lnx.ix.com:2181/kafka这仍然在QA环境中,因为我们正在评估在生产中使用Kafka。你知道我是不是遗漏了一些配置,或者可能发生了什么?
发布于 2015-10-23 17:46:37
当你的网络设置改变时,我见过这样的行为。
您可以尝试在KAFKA server.properties中设置advertised.host.name="kafka server hostname",然后重试。
https://stackoverflow.com/questions/33298562
复制相似问题