Проблема с запуском производителя kafka с использованием java - PullRequest
0 голосов
/ 19 июня 2020

Привет, у меня проблемы с запуском производителя kafka с использованием java. пожалуйста, помогите мне, если вы знаете правильное решение. ниже приведен код, который я использовал. Я рассмотрел различные решения по переполнению статов. и попробовал некоторые из них, но они не решили проблему.

import java.util.Properties;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

public class KafkaProducerClass {

    public static void main(String[] args) {

        Properties properties = new Properties();

        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "9092");
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        //Thread.currentThread().setContextClassLoader(null);
        Producer<String, String> producer = new KafkaProducer<>(properties);

        for(int i=0;i<20;i++) {
            ProducerRecord<String, String> producerRecord = new ProducerRecord<>("TestTopic", "Message from java");
            producer.send(producerRecord);
        }
        producer.close();
    }

}

Исключение, которое я получил:

Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:434)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:298)
    at com.innominds.producer.KafkaProducerClass.main(KafkaProducerClass.java:21)
Caused by: org.apache.kafka.common.config.ConfigException: Invalid url in bootstrap.servers: 9092
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:59)
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:408)
    ... 2 more

1 Ответ

0 голосов
/ 20 июня 2020

properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "9092");

9092 не является допустимым DNS-именем в вашей сети.

Вы должны предоставить действительный IP-адрес или хост вместе с портом, к которому вы хотите подключиться


Я бы посоветовал использовать библиотеку более высокого уровня, такую ​​как Vertx, Quarkus или Spring, для более простых параметров конфигурации

...