爱吃鱼油 2016-03-03 09:03 采纳率: 0%
浏览 4357

kafka.common.KafkaException:

package com;

import java.util.Properties;

import java.util.concurrent.TimeUnit;
import kafka.javaapi.producer.Producer;

import kafka.producer.KeyedMessage;

import kafka.producer.ProducerConfig;

import kafka.serializer.StringEncoder;

public class kafkaProducer extends Thread{

private String topic;  

public kafkaProducer(String topic){  
    super();  
    this.topic = topic;  
}  


@Override  
public void run() {  
    Producer producer = createProducer();  
    int i=0;  
    while(true){  
        producer.send(new KeyedMessage<Integer, String>(topic, "message: " + i++));  
        try {  
            TimeUnit.SECONDS.sleep(1);  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}  

private Producer createProducer() {
    Properties properties = new Properties();  
    properties.put("zookeeper.connect", "localhost:2181");//声明zk  
    properties.put("serializer.class", StringEncoder.class.getName());  
    properties.put("metadata.broker.list", "localhost:9092");// 声明kafka broker  
    return new Producer<Integer, String>(new ProducerConfig(properties));  
 }  


public static void main(String[] args) {  
    new kafkaProducer("test").start();// 使用kafka集群中创建好的主题 test   

}  

}

kafka.common.KafkaException: fetching topic metadata for topics [Set(test)] from broker [ArrayBuffer(id:0,host:localhost,port:9092)] failed
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)
at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)
at kafka.producer.async.DefaultEventHandler$$anonfun$handle$1.apply$mcV$sp(DefaultEventHandler.scala:67)
at kafka.utils.Utils$.swallow(Utils.scala:172)
at kafka.utils.Logging$class.swallowError(Logging.scala:106)
at kafka.utils.Utils$.swallowError(Utils.scala:45)
at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:67)
at kafka.producer.Producer.send(Producer.scala:77)
at kafka.javaapi.producer.Producer.send(Producer.scala:33)
at com.kafkaProducer.run(kafkaProducer.java:29)
Caused by: java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)
at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)
at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)
at kafka.producer.SyncProducer.send(SyncProducer.scala:113)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)
... 9 more


  • 写回答

2条回答 默认 最新

  • 桃花惜春风 博客专家认证 2016-08-25 15:30
    关注

    你用的是本机kafka,确认kafka启动、如果是集群,建议多指定几台broker,这里 properties.put("metadata.broker.list", "192.168.1.1:9092,192.168.1.2:9092");// 声明kafka broker

    评论

报告相同问题?

悬赏问题

  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出