Mac 单机集群使用hadoop jar 运行jar包出现的问题

1. 问题描述

Mac 单机集群使用hadoop jar 运行jar包报错:

1
2
3
4
5
6
Exception in thread "main" java.io.IOException: Mkdirs failed to create /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/hadoop-unjar7560830407203462827/META-INF/license
at org.apache.hadoop.util.RunJar.ensureDirectory(RunJar.java:128)
at org.apache.hadoop.util.RunJar.unJar(RunJar.java:104)
at org.apache.hadoop.util.RunJar.unJar(RunJar.java:81)
at org.apache.hadoop.util.RunJar.run(RunJar.java:209)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

2. 解决方法

Only thrown in MacOS, and solution is:
@see: http://stackoverflow.com/questions/10522835/hadoop-java-io-ioexception-mkdirs-failed-to-create-some-path

  1. modify jar
    1
    2
    $ zip -d mipr-core-0.1-jar-with-dependencies.jar META-INF/LICENSE
    $ zip -d mipr-core-0.1-jar-with-dependencies.jar LICENSE
  2. with grep all
    1
    $ jar -tvf mipr-core-0.1-jar-with-dependencies.jar |grep META-INF/LICENSE