2016-03-28 8 views
1

Ich versuche, einen Produzenten in KafkaFehler bei Nachricht in Kafka Senden

Mein Maven pom.xml

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

Mein Producer-Code zu machen, ist

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")); 
} 

Während dieser Code ausgeführt werden , Bekomme ich diesen Fehler

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) 

Kann mir bitte jemand helfen, diese Ausnahme zu lösen.

Vielen Dank im Voraus. !!!

Antwort

1

Sie vermissen metadata.broker.list Eigentum.

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