Kafka on Pulsar报错:Topic test元数据60秒内未找到
解决Kafka on Pulsar的Topic元数据超时问题
确认Kafka客户端的bootstrap-server配置
发送消息时必须明确指定转发后的本地端口9095,命令示例:kafka-console-producer.bat --bootstrap-server localhost:9095 --topic test避免默认使用已被占用的9092端口,这是最容易忽略的关键点。
验证Pulsar的Kafka兼容层是否启用
检查Helm部署的Pulsar配置,确保开启了Kafka协议支持:kafkaProtocolEnabled: true查看pulsar-broker的容器日志,确认是否有
Kafka service started on port 9092的日志输出,这说明Kafka兼容层已正确启动。检查端口转发的正确性
确保端口转发命令是将Pulsar broker容器内的Kafka协议端口(默认9092)映射到本地9095:kubectl port-forward service/pulsar-broker 9095:9092用
telnet localhost 9095测试本地端口连通性,能成功连接说明转发有效。确认自动创建Topic的配置完整性
除了allowAutoTopicCreationType: partitioned,还需确保配置中包含:allowAutoTopicCreation: true部分Pulsar版本中这两个配置是独立开关,缺一不可。手动创建Pulsar Topic后,可通过Kafka客户端命令验证元数据是否能被获取:
kafka-topics.bat --list --bootstrap-server localhost:9095若能列出已创建的Topic,说明元数据通道正常。
排查元数据请求的详细错误
给Kafka producer添加debug参数,查看元数据请求的具体细节:kafka-console-producer.bat --bootstrap-server localhost:9095 --topic test --producer-property debug=metadata同时查看pulsar-broker的日志,检查是否有认证失败、权限不足等导致元数据请求被拒绝的错误(若Pulsar开启了认证,需给Kafka客户端配置对应的认证参数)。
内容的提问来源于stack exchange,提问作者bhoomika
相关产品推荐
相关产品推荐

