我遇到一个问题,其中hadoop unjar命令在/mnt/hadoop/tmp/hadoop-${user.name}
中没有真正生成临时jar目录。
上下文是我想使用XXX.class.getResourceAsStream("/my_shell.sh")
从jar文件中获取一个shell脚本文件。如果我使用java -cp
命令来运行这个jar,它可以按照我的预期执行
但是,如果我使用hadoop jar命令来运行这个jar,我就无法得到我想要的东西
调试后我发现getResource
网址是这样的
url=file:/mnt/hadoop/tmp/hadoop-${user.name}/hadoop-unjar1355749400200754398/my_shell.sh
但实际上hadoop-unjar1355749400200754398
中根本没有生成/mnt/hadoop/tmp/hadoop-${user.name}/
目录
此外,没有打印任何错误消息。我搜索了很多文档,但没有发现任何类似的问题。
注意:jar中的这个主要文件不提交任何hadoop作业,它只是尝试从jar获取一个shell文件。
hadoop版本是0.20.2-cdh3u3。