2016-03-28 114 views
1
發送消息

我試圖做一個製片人卡夫卡錯誤而卡夫卡

我的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

您正在失去metadata.broker.list屬性。

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