爱吃鱼油 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

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?