-Re: About conception and usage of Uber
Arun C Murthy 2013-11-12, 02:27
Yes, your understanding is correct. WIth 'uber' mode enabled, you'll run everything within the container of the AM itself which leads to significantly faster runtimes for 'small' jobs (we've observed 2x-3x speedup for some jobs).
On Nov 10, 2013, at 5:35 PM, sam liu <[EMAIL PROTECTED]> wrote:
> Any comments/corrections on my understanding on Uber?
> Thanks in advance!
> 2013/11/8 sam liu <[EMAIL PROTECTED]>
> Hi Experts,
> In previous discussions, I found following descriptions:
> "mapreduce.job.ubertask.enable | (false) | 'Whether to enable the small-jobs "ubertask" optimization, which runs "sufficiently small" jobs sequentially within a single JVM. "Small" is defined by the following maxmaps, maxreduces, and maxbytes settings. Users may override this value.'"
> Basing on above description, I set "mapreduce.job.ubertask.enable" to true and also configured other uber related parameters, and then I did some practices and have following understanding.
> 1) If I submit a bunch of small MR jobs to Hadoop cluster(each MR job will run in uber mode):
> - Each MR job corresponds to an application, like application_1383815949546_0006
> - Each application has its own container, like container_1383815949546_0010_01_000001
> - When a container launched by nodemanager, it will launch a JVM too. When the container stops, the JVM will stop as well. A container only has one JVM in its whole life cycle.
> - Each application_1383815949546_0006 includes some map tasks and reduce tasks
> - In uber mode, all the map tasks and reduce tasks of application_1383815949546_0006 will be executed in a the same and only container container_1383815949546_0010_01_000001. It also means that all map tasks and reduce tasks will be executed in a single JVM.
> - A container could not be shared among different applications(jobs)
> 2) If I submit a bunch of big MR jobs to Hadoop cluster(each MR job will run and NOT in uber mode):
> - Each map task and reduce task of application_1383815949546_0006 will be executed in its own container. It means that application_1383815949546_0006 will have lots of containers.
> I am not sure whether above undertandings are correct or not, so any comments/corrections will be appreciated!
Arun C. Murthy
NOTICE: This message is intended for the use of the individual or entity to
which it is addressed and may contain information that is confidential,
privileged and exempt from disclosure under applicable law. If the reader
of this message is not the intended recipient, you are hereby notified that
any printing, copying, dissemination, distribution, disclosure or
forwarding of this communication is strictly prohibited. If you have
received this communication in error, please contact the sender immediately
and delete it from your system. Thank You.