spark程式打jar包,把程式包和依賴包分開
阿新 • • 發佈:2019-01-09
- 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後面即可。如有錯誤,請大家留言指出