PrepAway - Latest Free Exam Questions & Answers

Which method should you tell that developers to implement?

You have recently converted your Hadoop cluster from a MapReduce 1 (MRv1) architecture to
MapReduce 2 (MRv2) on YARN architecture. Your developers are accustomed to specifying map
and reduce tasks (resource allocation) tasks when they run jobs: A developer wants to know how
specify to reduce tasks when a specific job runs. Which method should you tell that developers to
implement?

PrepAway - Latest Free Exam Questions & Answers

A.
MapReduce version 2 (MRv2) on YARN abstracts resource allocation away from the idea of
“tasks” into memory and virtual cores, thus eliminating the need for a developer to specify the
number of reduce tasks, and indeed preventing the developer from specifying the number of
reduce tasks.

B.
In YARN, resource allocations is a function of megabytes of memory in multiples of 1024mb.
Thus, they should specify the amount of memory resource they need by executing –D mapreducereduces.memory-mb-2048

C.
In YARN, the ApplicationMaster is responsible for requesting the resource required for a
specific launch. Thus, executing –D yarn.applicationmaster.reduce.tasks=2 will specify that the
ApplicationMaster launch two task contains on the worker nodes.

D.
Developers specify reduce tasks in the exact same way for both MapReduce version 1 (MRv1)
and MapReduce version 2 (MRv2) on YARN. Thus, executing –D mapreduce.job.reduces-2 will
specify reduce tasks.

E.
In YARN, resource allocation is function of virtual cores specified by the ApplicationManager
making requests to the NodeManager where a reduce task is handeled by a single container (and
thus a single virtual core). Thus, the developer needs to specify the number of virtual cores to the
NodeManager by executing –p yarn.nodemanager.cpu-vcores=2

6 Comments on “Which method should you tell that developers to implement?

  1. Yuriy says:

    “From the perspective of a developer requesting resource allocations for a job’s tasks, nothing needs to be changed. Map and reduce task memory requests still work and, additionally, tasks that will use multiple threads can request more than 1 core with the mapreduce.map.cpu.vcores and mapreduce.reduce.cpu.vcores properties.”
    http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_mapreduce_to_yarn_migrate.html

    C is incorrect – just try search for “yarn.applicationmaster.reduce.tasks”
    http://www.cloudera.com/content/cloudera/en/search.html?q=yarn.applicationmaster.reduce.tasks

    the most correct answer is D




    0



    0
  2. chris gang says:

    D is the correct answer
    https://docs.oracle.com/cd/E53356_01/doc.30/e53066/balance.htm#BIGUG282
    # run the job
    hadoop jar application_jarfile.jar ApplicationClass \
    -D application_config_property \
    -D mapreduce.input.fileinputformat.inputdir=jdoe_application/input \
    -D mapreduce.output.fileoutputformat.outputdir=jdoe_nobal_outdir \
    -D mapreduce.job.name=nobal \
    -D mapreduce.job.reduces=10 \
    -D oracle.hadoop.balancer.autoBalance=false \
    -D oracle.hadoop.balancer.autoAnalyze=REDUCER_REPORT \
    -conf application_config_file.xml




    0



    0

Leave a Reply

Your email address will not be published. Required fields are marked *