Good catch. I hadn't noticed the file:/ instead of hdfs:/. Setting the framework to yarn got rid of the problem.

Thanks,

Pierre


On 08/01/2013 11:08 AM, Devaraj k wrote:

Hi Pierre,

As per the below information, we see Job is running in local mode and trying to use the local file system for staging dir. Could you please configure 'mapreduce.framework.name' & 'fs.defaultFS' and check.

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

Thanks

Devaraj k

*From:*Pierre-Francois Laquerre [mailto:[email protected]]
*Sent:* 01 August 2013 22:57
*To:* [email protected]
*Subject:* incorrect staging area path in 2.0.5

I recently updated from 1.0.4 to 2.0.5. Since then, streaming jobs have been failing to launch due to what seems like an incorrect staging path:

# /opt/hadoop2/bin/hadoop jar /opt/hadoop2/share/hadoop/tools/lib/hadoop-streaming-2.0.5-alpha.jar -input foo -output bar -mapper baz -reducer foobar 13/08/01 10:43:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 13/08/01 10:43:50 WARN conf.Configuration: session.id is deprecated. Instead, use dfs.metrics.session-id 13/08/01 10:43:50 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId= 13/08/01 10:43:50 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized 13/08/01 10:43:50 INFO mapreduce.JobSubmitter: Cleaning up the staging area *file:/user/myuser1544460269/.staging/job_local1544460269_0001 <file:///%5C%5Cuser%5Cmyuser1544460269%5C.staging%5Cjob_local1544460269_0001>* 13/08/01 10:43:50 ERROR security.UserGroupInformation: PriviledgedActionException as:myuser (auth:SIMPLE) cause:org.apache.hadoop.util.Shell$ExitCodeException: chmod: cannot access `*/user/myuser1544460269/.staging/job_local1544460269_0001*': No such file or directory 13/08/01 10:43:50 ERROR streaming.StreamJob: Error Launching job : chmod: cannot access `/user/myuser1544460269/.staging/job_local1544460269_0001': No such file or directory
Streaming Command Failed!

This is for a job launched as "myuser". Given that mapreduce.jobtracker.staging.root.dir is set to /user, I would expect the staging area to be in /user/myuser/.staging/job_local$jobid. Instead, it is in /user/myuser$jobid/.staging/job_local$jobid, which fails since /user/myuser$jobid/ doesn't exist. Has the way staging.root.dir is used changed in 2.x?

Thank you,

Pierre


Reply via email to