简体   繁体   English

NoClassDefFound 异常 Spark Streaming

[英]NoClassDefFound Exception Spark Streaming

I am trying to run the sample JavaStatefulNetworkWordCount Algorithm provided by Apache Spark examples but am experiencing a problem when I try to run the program using spark submit, I get the following exception:我正在尝试运行 Apache Spark 示例提供的示例JavaStatefulNetworkWordCount算法,但是当我尝试使用 spark submit 运行程序时遇到问题,我收到以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/StateSpec
    at JavaStatefulNetworkWordCount.main(JavaStatefulNetworkWordCount.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:674)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:120)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.StateSpec
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

I have imported the StateSpec classes and the code is the same as the one provided over here:我已经导入了StateSpec类,代码与此处提供的代码相同:
https://github.com/apache/spark/blob/master/examples/src/main/java/org/apache/spark/examples/streaming/JavaStatefulNetworkWordCount.java

I would appreciate any help in understanding why this problem arises and how I can fix it.如果您能帮助我理解为什么会出现这个问题以及如何解决它,我将不胜感激。

You should probably add the actual submit command as well.您可能还应该添加实际的提交命令。

I highly suspect that you are either missing the --class parameter at all when submitting the spark jar or you did not use the correct qualified class name in it.我高度怀疑您在提交 spark jar 时根本没有 --class 参数,或者您没有在其中使用正确的限定类名。

I tried using the following command:我尝试使用以下命令:

spark-submit --class JavaStatefulNetworkWordCount --master local[2] target/SparkStreaming.jar localhost 2222 spark-submit --class JavaStatefulNetworkWordCount --master local[2] 目标/SparkStreaming.jar 本地主机 2222

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM