Hi, In these circumstances, there is no easy way to do that. Maybe use workaround. How about using zookeeper for shared storage? The app master create predefined zookeeper node when starting with current machine's IP and Clients always look for that zookeeper node for app master's location.
Thanks. Drake 민영근 Ph.D kt NexR On Mon, Mar 30, 2015 at 11:04 AM, Dongwon Kim <[email protected]> wrote: > Hello, > > First of all, I'm using Hadoop-2.6.0. I want to launch my own app > master on a specific node in a YARN cluster in order to open a server > on a predetermined IP address and port. To that end, I wrote a driver > program in which I created a ResourceRequest object and called > setResourceName method to set a hostname, and attached it to a > ApplicationSubmissionContext object by > callingsetAMContainerResourceRequest method. > > I tried several times but couldn't launch the app master on a specific > node. After searching code, I found that RMAppAttemptImpl invalidates > what I've set in ResourceRequest as follows: > > // Currently, following fields are all hard code, > // TODO: change these fields when we want to support > // priority/resource-name/relax-locality specification for AM > containers > // allocation. > appAttempt.amReq.setNumContainers(1); > appAttempt.amReq.setPriority(AM_CONTAINER_PRIORITY); > appAttempt.amReq.setResourceName(ResourceRequest.ANY); > appAttempt.amReq.setRelaxLocality(true); > > Is there another way to launch a container for an application master > on a specific node in Hadoop-2.6.0? > > Thanks. > > Dongwon Kim >
