我正在使用 yarn jar 命令运行MR作业,它会在 / tmp 文件夹中创建一个临时jar,该文件夹将填满整个磁盘空间。我想将此jar的路径重定向到我有更多磁盘空间的其他文件夹。在此link上,我知道可以通过为hadoop版本1.x设置属性 mapred.local.dir 来更改路径。我正在使用以下命令来运行jar
yarn jar myjar.jar MyClass myyml.yml arg1 -D mapred.local.dir="/grid/1/uie/facts"
上面的参数mapred.local.dir不会更改路径,它仍在tmp文件夹中创建jar。
答案 0 :(得分:0)
发现该黑客没有将unjar文件写入/ tmp文件夹。显然,这不是可配置的行为,因此我们可以通过调用生成的类路径来代替使用“ hadoop jar”或“ yarn jar”(RunJar实用程序):
java -cp $(hadoop类路径):my-fat-jar-with-all-dependencies.jar your.app.mainClass