On Jun 14, 2011, at 6:31 PM, Praveen Sripati wrote:

Hi,

I have gone through MapReduce NextGen Blog entries and JIRA and have the
following queries

There is a single API between the Scheduler and the ApplicationMaster:

(List <Container> newContainers, List <ContainerStatus>
containerStatuses) allocate (List <ResourceRequest> ask, List<Container>
release)

The AM ask for specific resources via a list of ResourceRequests (ask)
and releases unnecessary Containers which were allocated by the Scheduler.

The response contains a list of newly allocated Containers and the
statuses of application-specific Containers that completed since the
previous interaction between the AM and the RM.

Q) If split-0 is is available in host1, host2 and host3, can
ApplicationMaster request a scheduler for a container on host1 or host2 or host3? This way the scheduler can allocate the resources more effectively.


Yes, absolutely.

Q) In a cluster there might be nodes of different capacities, how will the scheduler know that a particular node has 4 GB and another has 16 GB RAM
before allocating the resources to the ApplicationMaster?


The NodeManager informs the RM about its capabilities on registration. The RM allocates appropriate resources to the AM(s).

Q) Are the unnecessary containers (List<Container> release) in the request released by the ApplicationMaster the ones rejected by the ApplicationMaster
or those on which the map/reduce tasks have been completed?


Only unused ones.

Q) What does the following in the response contain - "List <ContainerStatus>
containerStatuses"?


Status for completed completed containers.

Q) Once the ApplicationMaster gets the list of the new containers from the Scheduler, what is the interaction between the ApplicationMaster and the
Node Manager? Will the ApplicationMaster ask the Node Manager on the
different nodes to launch/monitor the map/reduce tasks in those containers?


No, the AM directly monitors the containers via an application- specific protocol.

For MR applications we use TaskUmbilicalProtocol.

The NM just monitors the unix process and informs the RM on exit of the unix process.

Q) Does the Scheduler ask the Node Manager to create the containers on the
different nodes?

No, the Scheduler allocates them to the respective AMs who then launch the container by talking to the NM.

The NM can securely verify the authenticity of the 'container launch' request, including the resources allocated to the container.


The resource requests are also aggregated by racks and then by the
special any (*) for all containers. All resource requests are subject to
change via the delta protocol.

Q) Does (*) mean that the ApplicationMaster is OK with a container in any
rack/host? This might be applicable for Reduce tasks.

Yes.

Hope this helps.

Arun

Reply via email to