Я получаю исключение Class Not Found при запуске клиента Kafka из командной строки. Как мне решить это? - PullRequest
1 голос
/ 07 апреля 2020

Я выполнял задачу Word Count, используя Kafka-streams. Используемая версия Кафки была 2.3.1, в ней были созданы две темы: подсчет слов и вывод слов. Код для этого:

public static void main( String[] args )
{
    Properties properties = new Properties();
    properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "word-count");
    properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
    properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
    properties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass());
    properties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass());

    StreamsBuilder builder = new StreamsBuilder();

    KStream<String, String> textLines = builder.stream("word-count-input");

    KTable<String, Long> wordCounts = textLines.mapValues(value -> value.toLowerCase())
                                               .flatMapValues(value -> Arrays.asList(value.split(" ")))
                                               .selectKey((key,value) -> value)
                                               .groupByKey()
                                               .count();

    // Writing back to the kafka topic
    wordCounts.toStream().to("word-count-output", Produced.with(Serdes.String(), Serdes.Long()));

    KafkaStreams streams = new KafkaStreams(builder.build(), properties);
    streams.start();


    //printing the topology
    System.out.println(streams.toString());

    // shutdown hook to correctly close the stream application
    Runtime.getRuntime().addShutdownHook(new Thread(streams::close));

}   

При запуске потребителя для topi c word-count-output с использованием командной строки выдает исключение Class Not Found для установки свойств key.deserializer и value.deserializer. .

Вы можете посмотреть командную строку здесь .

1 Ответ

0 голосов
/ 09 апреля 2020

Проблема была с разницей в версии Кафки. В системе была установлена ​​версия 2.3.1, а в maven - 2.1.1. Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...