簡體   English   中英

Kafka生產者無法通過Bootstrap服務器產生消息。 如何設置經紀人主機?

[英]Kafka producer fails to produce message via Bootstrap server. how to set broker host?

Kafka Producer API獲取超時異常。

產生Kafka訊息的手動程序

我們通過SSH連接到kafka服務器:xxxx,在那輸入生產者的以下命令

/kafka/bin/kafka-console-producer.sh --broker BrokerHostAddress:9092 --topic TestTopic
{ValidJsonData}

Kafka服務器和BrokerHostAddress是不同的地址。

嘗試通過Java + kafka-clients(2.1.0)產生有關上述主題的消息,得到:java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException:在60000 ms之后無法更新元數據。

String bootstrap_Server = "x.x.x.x:port"
private static KafkaProducer<String, String> producer = null;
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrap_Server);
props.put(ProducerConfig.CLIENT_ID_CONFIG, "KafkaExampleProducer");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.ACKS_CONFIG, "all");
props.put(ProducerConfig.RETRIES_CONFIG, 0);
props.put(ProducerConfig.BATCH_SIZE_CONFIG, 16384);
props.put(ProducerConfig.LINGER_MS_CONFIG, 1);
producer = new KafkaProducer<String, String>(props);

kafkaInTopicName = "TestTopic";
Key = "123123";
value = "{ValidJsonData}";
producer.send(new ProducerRecord<String, String>(kafkaInTopicName, key, value)).get(); ```


props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrap_Server); String bootstrap_Server = "xxxx" ,看來您的引導服務器不包含端口,因此它應該是“ xxxx:9092”,其中“ xxxx”是集群中一個Kafka代理的IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM