【问题标题】:Consume data from Kafka使用来自 Kafka 的数据
【发布时间】:2020-05-25 12:13:17
【问题描述】:

我正在尝试通过为以下三个属性指定类来使用来自 Kafka 主题的消息:

--property key.deserializer = org.apache.kakfa.common.serialization.StringDesrializer 
--property value.deserializer = org.apache.kafka.common.serialization.LongDesrializer

但我收到以下错误:

Exception in thread "main" java.lang.ClassNotFoundException:
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at kafka.tools.DefaultMessageFormatter.init(ConsoleConsumer.scala:477)
        at kafka.tools.ConsoleConsumer$ConsumerConfig.<init>(ConsoleConsumer.scala:312)
        at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:51)
        at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)

我该如何解决这个问题?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api consumer


    【解决方案1】:

    问题是你的类名有错字(他们说StringDesrializerLongDesrializer)并且其中一个包名有kakfa 而不是kafka

    以下参数应该可以解决您的问题:

    --property key.deserializer = org.apache.kafka.common.serialization.StringDeserializer 
    --property value.deserializer = org.apache.kafka.common.serialization.LongDeserializer
    

    【讨论】:

    • 另外kakfa应该被kafka替换
    • 感谢您回答问题,但即使在编辑命令后也出现错误:
    • 线程“主”java.lang.ClassNotFoundException 中的异常:在 kafka 的 java.lang.Class.forName(Class.java:264) 的 java.lang.Class.forName0(Native Method)。 tools.DefaultMessageFormatter.init(ConsoleConsumer.scala:477) 在 kafka.tools.ConsoleConsumer$ConsumerConfig.(ConsoleConsumer.scala:312) 在 kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:51) 在 kafka。 tools.ConsoleConsumer.main(ConsoleConsumer.scala)
    • @mjuarez 请建议?
    猜你喜欢
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2021-01-30
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多