Hadoop java mapper作业在slave节点上执行,目录问题

时间:2011-09-26 17:41:25

标签: java caching hadoop mapreduce

作为我的Java映射器的一部分,我有一个命令在本地从属节点上执行一些独立代码。当我运行代码时,它执行正常,除非它试图访问一些本地文件,在这种情况下我得到错误,它无法找到这些文件。

深入挖掘它似乎是从以下目录执行:

  

/数据/ hadoop的/ mapred /本地/的TaskTracker / {用户} / jobcache / job_201109261253_0023 / attempt_201109261253_0023_m_000001_0 /工作

但我打算从相关文件所在的本地目录执行:

  

/家庭/用户/ {用户} /输入/ JOBNAME

java / hadoop中是否有办法强制从本地目录执行,而不是在hadoop中自动创建的jobcache目录?

是否有更好的方法可以解决这个问题?

对此的任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我现在正在使用的解决方法包括将所有相关文件复制到jobcache工作目录。然后,如有必要,您可以将结果复制回用户目录。

不幸的是,这并没有完全回答这个问题,但希望为其他人提供有用的解决方法。

干杯,

里斯