Hi Arun,
I am looking at adding the ability to provide a ResourceRequest so the
ApplicationMaster can be scheduled by the client in the same way as
Workers are scheduled by the ApplicationMaster.
I will open a JIRA request for this. I am also working on the patch.
However, I have some questions about what would be the best way to make
this happen.
Currently, the request for a certain amount of memory for the
ApplicationMaster's container seems to be provided by setting the
Resource in ContainerLaunchContext that is attached to the
ApplicationSubmissionContext. The Javadoc attached to the getResource()
call claims the Resource object returned is the resource that is
allocated to the container. From the Javadoc it appears that this
Resource object should be the *effect* of allocation rather than the
request for the allocation.
Would it make sense to add a ResourceRequest setter/getter pair to the
ApplicationSubmission context that can specify the ask for the resources
required to run the ApplicationMaster container? In this case what would
be the role of the Resource object in the ContainerLaunchContext (since
the ResourceRequest already encapsulates a Resource object within itself)?
Thanks,
Vinayak
On 11/19/12 2:40 PM, Arun C Murthy wrote:
You are right, currently there is no way to do this.
However, it should be trivial to add a ResourceRequest to the
ApplicationSubmissionContext which is submitted to the RM from the client...
Do you, please, mind opening a jira to add this enhancement? Better yet, please
provide a patch [1] too! *smile*
thanks!
Arun
[1] http://wiki.apache.org/hadoop/HowToContribute
On Nov 19, 2012, at 12:11 PM, Vinayak Borkar wrote:
Hi,
I am in the process of writing an application to work with Yarn. In my
application, I would like to have the Application Master be launched on a
particular host (at least while testing). However, the ContainerLaunchContext
interface only accepts a Resource that can specify the amount of memory needed
for the container. I do not see an interface like the ResourceRequest that
allows the specification of a host name to launch the container.
Is there a way to get the Application Master to run on a specific host?
Thanks,
Vinayak
--
Arun C. Murthy
Hortonworks Inc.
http://hortonworks.com/