我未订阅的主题的 Kafka 错误

Kafka Error For Topics I'm Not Subscribed To

我看到一个关于我当前实例未订阅的主题的 kafka 警告。我们使用同一个 kafka broker,每个开发者都有 his/her 个自己的主题。但是,我们都使用属性文件中指定的相同默认值 groupID/clientid。

2017-06-27T11:48:35.20-0400 [APP/PROC/WEB/0]OUT 2017-06-27 15:48:35,195 WARN [NetworkClient] - [kafka-coordinator-heartbeat-thread | ingestion-matching-kafka-consumer-group] - Error while fetching metadata with correlation id 154274 : {to-process-yi=UNKNOWN_TOPIC_OR_PARTITION, to-process-shawn=UNKNOWN_TOPIC_OR_PARTITION}
2017-06-27T11:48:35.34-0400 [APP/PROC/WEB/0]OUT 2017-06-27 15:48:35,339 INFO [PdfXmlMatcherTask] - [scheduler-1] -
2017-06-27T11:48:35.34-0400 [APP/PROC/WEB/0]OUT 2017-06-27 15:48:35,340 INFO [PdfXmlMatcherTask] - [scheduler-1] - Checking messages...
2017-06-27T11:48:35.41-0400 [APP/PROC/WEB/0]OUT 2017-06-27 15:48:35,412 WARN [NetworkClient] - [scheduler-1] - Error while fetching metadata with correlation id 154275 : {to-process-yi=UNKNOWN_TOPIC_OR_PARTITION, to-process-shawn=UNKNOWN_TOPIC_OR_PARTITION}

这是预期的吗?即使每个人都有自己的主题,我是否需要单独的 group/client ID?

其次,我不太确定这个错误是什么意思:心跳协调器线程无法获取 2 个主题的元数据,但这些主题存在,只是这些主题的消费者不是 运行.

client.id - 对于跟踪请求很有用,应该对每个客户端都是唯一的(尽管不是强制性的)。

groupid - 这仅适用于消费者。根据您的简短描述,您可能希望每个消费者都在自己的组中。

我建议您阅读 ConsumerGroups 的用途: "Kafka scales topic consumption by distributing partitions among a consumer group, which is a set of consumers sharing a common group identifier. " https://www.confluent.io/blog/tutorial-getting-started-with-the-new-apache-kafka-0-9-consumer-client/

UNKNOWN_TOPIC_OR_PARTITION 是代理 returns 恰好在主题或分区不存在时出现的错误。 Kafka 客户端将其视为可重试的错误。

如果您认为该主题存在,请检查两次。 也可能是主题存在但生产者或消费者直接针对现有主题的不存在分区的情况。