为什么mr2 map任务在'yarn'用户下运行,而不是在我运行hadoop作业的用户下运行?

iaqfqrcu  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(176)

我想在mr2上运行mapreduce作业,hadoop版本。2.6.0-cdh5.8.0。作业有到目录的相对路径,目录中有许多文件要根据某些条件进行压缩(对于这个问题不是必须的)。我的工作如下:

sudo -u my_user hadoop jar my_jar.jar com.example.Main

hdfs上的path/user/my\u user/with files下有一个文件夹。但当我在执行我的任务时,我遇到了以下例外:

java.io.FileNotFoundException: File /user/yarn/<path_from_job> does not exist.

我正在将此作业从mr1迁移到正确工作的位置。我的建议是,这是由于Yarn发生,因为每个容器下开始Yarn用户。在我的工作配置中 mapreduce.job.user.name="my_user" 但这没用。
我找到了 ${user.home} 在我的作业配置使用,但我不知道它是在哪里设置的,是否有可能改变这一点。
到目前为止,我找到的唯一解决方案是提供文件夹的绝对路径。有没有别的办法,因为我觉得这不是正确的方法。
谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题