在Kafka中发送邮件时出错

时间:2016-03-28 10:12:21

标签: java apache-kafka

我正在尝试在Kafka制作制作人

我的Maven pom.xml是

<dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.10</artifactId>
        <version>0.9.0.1</version>
    </dependency>
</dependencies>

我的制片人代码是

import java.util.Properties;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;

public class KafkaProducer {

public static void main(String[] args) {
    Properties props = new Properties();
    props.put("zk.connect", "serverIp:2181");
    props.put("serializer.class", "kafka.serializer.StringEncoder");
    ProducerConfig config = new ProducerConfig(props);
    Producer<String, String> producer = new Producer<String, String>(config);
    producer.send(new KeyedMessage<String, String>("TestTopic", "Message1"));
}

执行此代码时,我收到此错误

Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: Missing required property 'metadata.broker.list'
at scala.Predef$.require(Predef.scala:233)
at kafka.utils.VerifiableProperties.getString(VerifiableProperties.scala:177)
at kafka.producer.ProducerConfig.<init>(ProducerConfig.scala:66)
at kafka.producer.ProducerConfig.<init>(ProducerConfig.scala:56)
at kafkaPOC.KafkaProducer.main(KafkaProducer.java:16)

任何人都可以帮我解决这个例外。

先谢谢。!!!

1 个答案:

答案 0 :(得分:1)

您缺少metadata.broker.list属性。

props.put("metadata.broker.list", "<Kafka broker IP address>:9092");