爱吃鱼油 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 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀