我遇到了一个问题,hadoopunjar命令并没有在中真正生成temp jar dir /mnt/hadoop/tmp/hadoop-${user.name}
.
上下文是我想从jar文件中获取一个shell脚本文件,使用 XXX.class.getResourceAsStream("/my_shell.sh")
. 如果我使用 java -cp
命令来运行这个jar,它可以像我期望的那样执行。
但是如果我使用hadoopjar命令来运行这个jar,我就不能得到我想要的。
调试后我发现 getResource
url是这样的 url=file:/mnt/hadoop/tmp/hadoop-${user.name}/hadoop-unjar1355749400200754398/my_shell.sh
但实际上没有 hadoop-unjar1355749400200754398
目录生成在所有 /mnt/hadoop/tmp/hadoop-${user.name}/
.
也没有任何错误信息打印。我搜索了很多文档,但没有找到任何类似的问题。
注意:jar中的这个main不提交任何hadoop作业,它只尝试从jar中获取一个shell文件。
hadoop版本是0.20.2-cdh3u3。
暂无答案!
目前还没有任何答案,快来回答吧!