spark报错java.lang.NoClassDefFoundError一般为spark任务依赖与集群依赖环境不一致导致,为了快速解决该问题,方案如下:
报错如下:

在idea中寻找对应包名:
ctrl+alt+shift+n,并输入包名:

记住该包名,利用maven导出项目所有jar包:
输入内容:
mvn dependency:copy-dependencies -DoutputDirectory=lib

在jar包中找到上面涉及到的包名,并导入集群hdfs上,spark-submit时,指定 --jar 包名
有多个包用,隔开,如下:
spark-submit --master yarn-client --jars ***.jar,***.jar(你的jar包,用逗号分隔) mysparksubmit.jar
本文介绍了解决Spark任务中出现的java.lang.NoClassDefFoundError错误的方法。通过IDEA查找缺失的包,在Maven环境中导出所有依赖的jar包,并将这些包部署到HDFS上。最后,在spark-submit命令中指定所需的jar包。
3175

被折叠的 条评论
为什么被折叠?



