原因是没有编译启动类,造成没有编译的pom.xml插件配置如下。
net.alchim31.maven
scala-maven-plugin
3.2.2
testCompile
上面的配置,刚开始的时候可以编译 ,后来就不编译.scala文件了,导致submit提交任务时找不到类。将配置修改如下:
net.alchim31.maven
scala-maven-plugin
3.2.2
compile
**/*.scala
2. 不显示运行应用问题 Running Applications (0)的问题
集群环境版本为spark 3.2.1,打包的依赖是2.4.8,pom.xml文件指定如下:
org.apache.spark spark-core_2.122.4.8 org.apache.spark spark-streaming_2.122.4.8
版本不一致导致了应用不显示,采用3.2.1版本进行打包。
3. 集群环境有的包,pom.xml配置依赖时使用providedorg.apache.spark spark-core_2.123.2.1 provided org.apache.spark spark-streaming_2.123.2.1 provided
在集群环境中,spark-core_2.12-3.2.1.jar和spark-streaming_2.12-3.2.1.jar在集群环境中已经存在了,在配置pom.xml文件时,指定provided。
org.apache.spark spark-core_2.123.2.1 provided org.apache.spark spark-streaming_2.123.2.1 provided
打包依赖版本,最好能够与运行环境保持一致,版本不一致可能会导致一些不可控的问题。
4. 打包环境版本与运行环境版本应一致在spark 2.4.8版本时,使用kafka组件总是出现各种错误(包括找不到类的方法),导致程序无法启动。
java.lang.NoSuchMethodError: org.apache.spark.internal.Logging.$init
后来直接升级到spark 3.2.1,问题得到解决。



