spark-02_java.lang.NoClassDefFoundError_org.apache.spark.streaming.kafka.Kafk

在spark中本地调试时遇到如果问题

19/11/20 17:08:49 INFO handler.ContextHandler: Started o.s.j.s.ServletContextHandler@73e132e0{/metrics/json,null,AVAILABLE}
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$
	at org.vincent.streaming.kafkaStreamKafka$.main(kafkaStreamKafka.scala:44)
	at org.vincent.streaming.kafkaStreamKafka.main(kafkaStreamKafka.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736)
	at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185)
	at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils$
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 11 more

spark本地运行脚本内容如下

/data/server/spark/bin/spark-submit \
    --master local[2] \
    --num-executors 2\
    --executor-memory 1g \
    --executor-cores 2 \
    --driver-memory 1g \
    --jars /data/server/spark/jars/spark-streaming_2.11-2.0.2.jar \
    --class org.vincent.streaming.kafkaStreamKafka ./spark_test-ver-1.0.jar

在网上查阅资料说是需要在运行脚本中手动添加一下依赖,最终解决方法如下,即添加--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.1.0

/data/server/spark/bin/spark-submit \
    --master local[2] \
    --num-executors 2\
    --executor-memory 1g \
    --executor-cores 2 \
    --driver-memory 1g \
    --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.1.0 \
    --repositories http://maven.aliyun.com/nexus/content/groups/public/ \
    --jars /data/server/spark/jars/spark-streaming_2.11-2.0.2.jar \
    --class org.vincent.streaming.kafkaStreamKafka ./spark_test-ver-1.0.jar
Exception in thread "Thread-44" java.lang.NoClassDefFoundError: javax/xml/rpc的问题是由于缺少javax/xml/rpc类引起的。这个错误通常发生在运行Java程序时,JVM无法找到所需的类。解决这个问题的方法有几种。 首先,你可以检查你的项目的依赖项,确保你已经正确地包含了javax/xml/rpc类。你可以在你的项目的pom.xml文件中查看依赖项配置。根据引用\[3\]中提供的Maven配置,你可以确认是否正确地添加了maven-jar-plugin插件,并且在manifest中指定了正确的主类。 如果你已经正确地配置了依赖项,但仍然遇到这个错误,那么可能是因为你的JVM版本不兼容javax/xml/rpc类。你可以尝试升级你的JVM版本,或者使用一个兼容的JVM版本来运行你的程序。 另外,你还可以尝试重新编译和打包你的项目,确保所有的依赖项都正确地包含在生成的jar包中。你可以使用命令行工具或者构建工具(如Maven或Gradle)来执行这些操作。 总结一下,解决Exception in thread "Thread-44" java.lang.NoClassDefFoundError: javax/xml/rpc的问题的方法包括检查项目的依赖项配置,升级JVM版本,重新编译和打包项目。希望这些方法能够帮助你解决这个问题。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [JAVA 程序生成jar包运行报错 Exception in thread “Thread-1“ java.lang.NoClassDefFoundError: javax/...](https://blog.csdn.net/runwuwushengxiyu/article/details/117624193)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Exception in thread “AWT-EventQueue-0“ java.lang.NoClassDefFoundError问题解决](https://blog.csdn.net/qq_40432886/article/details/122235590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值