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