[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
courses:mapreduce-tutorial:running-jobs [2012/02/05 19:37]
straka vytvořeno
courses:mapreduce-tutorial:running-jobs [2013/02/08 14:33] (current)
popel Milan improved our Hadoop
Line 1: Line 1:
-====== MapReduce Tutorial : ======+====== MapReduce Tutorial : Running jobs ====== 
 + 
 +The input of a Hadoop job is either a file, or a directory. In latter case all files in the directory are processed. 
 + 
 +The output of a Hadoop job must be a directory, which does not exist. 
 + 
 +===== Running jobs ===== 
 + 
 +| ^ Command ^ 
 +^ Run Perl script ''script.pl'' | ''perl script.pl'' //options// | 
 +^ Run Java job ''job.jar'' | ''/net/projects/hadoop/bin/hadoop job.jar'' //options// | 
 + 
 +The options are the same for Perl and java: 
 + 
 +| ^ Options ^ 
 +^ Run locally | ''input output''
 +^ Run using specified jobtracker | ''-jt jobtracker:port input output''
 +^ Run job in dedicated cluster | ''-c number_of_machines input output''
 +^ Run job in dedicated cluster and after it finishes, \\ wait for //W// seconds before stopping the cluster | ''-c number_of_machines -w W_seconds input output''
 +^ Run using //R// reducers \\ (//R//>1 not working when running locally)| ''-r R input output''
 +^ Run using //M// mappers | ''`/net/projects/hadoop/bin/compute-splitsize input M` input output''
 + 
 +From February 2012, using the parameter ''-w'' makes Hadoop to wait W seconds after the **last** task is finished. This means that you can start a cluster for one task (with ''-c N_machines -w W_seconds'') and reuse it (with ''-jt jobtracker:port'') for other tasks without worries that the other tasks will be killed before finishing. 
 + 
 +===== Running multiple jobs ===== 
 +There are several ways of running multiple jobs: 
 +  * Java only: Create multiple ''Job'' instances and call ''submit'' or ''waitForCompletion'' multiple times 
 +  * Create a cluster using ''/net/projects/hadoop/bin/hadoop-cluster'', parse the jobtracker:port using ''head -1'' and run the jobs using ''-jt jobtracker:port'' 
 +  * Create a shell script running multiple jobs using ''-jt HADOOP_JOBTRACKER''. Then run it using ''//net/projects/hadoop/bin/hadoop-cluster -c machines script.sh''.

[ Back to the navigation ] [ Back to the content ]