- 1.首先在pom.xml文件中添加插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
- 2.在idea中执行package 命令,然后在target目录下得到两个.jar文件,一个是程序jar,一个是依赖包jar
- 3.此时提交程序jar到 yarn集群,报错java.lang.SecurityException: Invalid signature file digest for Manifest main attributes,在网上查,需要删除jar(依赖包)中
'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*SF'
,命令是:
zip -d yourjar.jar 'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*SF'
或者用解压工具打开jar包,进入META-INF目录中,删除上面几种文件也可以。
最后spark-submit提交时,把依赖包跟在--jars后面即可。如有错误,请大家留言指出