引起:java.lang.ClassNotFoundException:org.apache.kafka.common.serialization.ByteArraySerializer

问题描述 投票:0回答:1

我正在使用 kafka 和 cassandra 进行 Spark 结构化流处理,当我在命令下运行时,我收到错误

spark-submit --class StreamHandler --master local[*] --packages "org.apache.spark:spark-sql-kafka-0-10_2.12:3.2.3" target/scala-2.12/stream-handler_2.12-1.0.jar

我正在Ubuntu linux机器本身做这个项目

causedby:java.lang.ClassNotFoundException:org.apache.kafka.common.serialization.ByteArraySerializerat java.net.URLClassLoader.findClass(URLClassLoader.java:382)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 24 more

如何解决错误?

我的版本:

  • spark-spark-3.2.3-hadoop2.7
  • scala - 2.12.15
  • 卡夫卡-kafka_2.12-2.8.0
  • sbt-sbt-1.9.1
scala apache-kafka sbt spark-structured-streaming spark-submit
1个回答
0
投票

您应该使用 SBT 创建一个包含

kafka-clients
spark-sql-kafka-0-10
的 uber JAR,而不是使用
--packages
。否则,您需要同时提供两者。

© www.soinside.com 2019 - 2024. All rights reserved.