The NM (and hence, by extension the container) heartbeats to the RM, not
the AM. AM gets notified of container status from the RM.
The AM starts / stops /releases a container process by communicating to the
NM.

Navina


On Thu, Jul 30, 2015 at 5:55 PM, Thomas Becker <tobec...@tivo.com> wrote:

> Ok, I thought there was some communication from the container to the AM,
> it sounds like you're saying it's in the other direction only?  Don't
> containers heartbeat to the AM?  Regardless, even if we can't get a better
> address for the AM from YARN, we could at least filter the addresses we get
> back from the JVM to exclude loopbacks.
>
> -Tommy
> ________________________________________
> From: Navina Ramesh [nram...@linkedin.com.INVALID]
> Sent: Thursday, July 30, 2015 8:40 PM
> To: dev@samza.apache.org
> Subject: Re: Coordinator URL always 127.0.0.1
>
> Hi Tommy,
> Yi is right. Container start is coordinated by the AppMaster using an
> NMClient. Container host name and port is provided by the RM during
> allocation.
> In Yarn (at least, afaik), when the node joins a cluster, the NM registers
> itself with the RM. So, the NM might still be using
> getLocalhost.getAddress().
>
> I don't know of any other way to programmatically fetch the machine's
> hostname (apart from some hacky shell commands).
>
> Cheers,
> Navina
>
> On Thu, Jul 30, 2015 at 5:23 PM, Yi Pan <nickpa...@gmail.com> wrote:
>
> > Hi, Tommy,
> >
> > Yeah, I agree that the current implementation is not bullet-proof to any
> > different networking configuration on the host. As for the AM <->
> container
> > communication, if I am not mistaken, it is through the NMClient and the
> > node HTTP address is wrapped within the Container object returned from
> RM.
> > I am not very familiar with that part of source code. Navina may be able
> to
> > help more here.
> >
> > -Yi
> >
> > On Thu, Jul 30, 2015 at 4:27 PM, Thomas Becker <tobec...@tivo.com>
> wrote:
> >
> > > Hi Yi,
> > > Thanks a lot for your reply.  I don't doubt we can get it to work by
> > > mucking with the networking configuration, but to me this feels like a
> > > workaround, not a solution.
> InetAddress.getLocalHost().getHostAddress()
> > is
> > > not a reliable way of obtaining an IP that other machines can connect
> to.
> > > Just today I tested on several Linux distros and it did not work on any
> > of
> > > them.  Can we do something more robust here?  How does the container
> > > communicate status to the AM?
> > >
> > > -Tommy
> > >
> > > ________________________________________
> > > From: Yi Pan [nickpa...@gmail.com]
> > > Sent: Thursday, July 30, 2015 6:48 PM
> > > To: dev@samza.apache.org
> > > Subject: Re: Coordinator URL always 127.0.0.1
> > >
> > > Hi, Tommy,
> > >
> > > I think that it might be a commonly asked question regarding to
> multiple
> > > IPs on a single host. A common trick w/o changing code is (copied from
> > SO:
> > >
> > >
> >
> http://stackoverflow.com/questions/2381316/java-inetaddress-getlocalhost-returns-127-0-0-1-how-to-get-real-ip
> > > )
> > >
> > > {code}
> > >
> > >    1.
> > >
> > >    Find your host name. Type: hostname. For example, you find your
> > hostname
> > >    is mycomputer.xzy.com
> > >    2.
> > >
> > >    Put your host name in your hosts file. /etc/hosts . Such as
> > >
> > >    10.50.16.136 mycomputer.xzy.com
> > >
> > >
> > > {code}
> > >
> > > -Yi
> > >
> > > On Thu, Jul 30, 2015 at 11:35 AM, Tommy Becker <tobec...@tivo.com>
> > wrote:
> > >
> > > > We are testing some jobs on a YARN grid and noticed they are often
> not
> > > > starting up properly due to being unable to connect to the job
> > > coordinator.
> > > > After some investigation it seems as if the jobs are always getting a
> > > > coordinator URL of http://127.0.0.1:<port>  But my understanding is
> > that
> > > > the coordinator runs only in the AM, so I'd expect these URLs to more
> > > often
> > > > than not be to some other machine.  Looking at the code however, I'm
> > not
> > > > sure how that would ever happen since the URL for the coordinator
> > always
> > > > comes from InetAddress.getLocalHost().getHostAddress() in
> > > > org.apache.samza.coordinator.server.HttpServer#getUrl
> > > >
> > > > Am I off base here?  Because I don't see how this is ever going to
> work
> > > in
> > > > scenarios where the AM is on a different node than the containers.
> > > >
> > > > --
> > > > Tommy Becker
> > > > Senior Software Engineer
> > > >
> > > > Digitalsmiths
> > > > A TiVo Company
> > > >
> > > > www.digitalsmiths.com<http://www.digitalsmiths.com>
> > > > tobec...@tivo.com<mailto:tobec...@tivo.com>
> > > >
> > > > ________________________________
> > > >
> > > > This email and any attachments may contain confidential and
> privileged
> > > > material for the sole use of the intended recipient. Any review,
> > copying,
> > > > or distribution of this email (or any attachments) by others is
> > > prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > immediately and permanently delete this email and any attachments. No
> > > > employee or agent of TiVo Inc. is authorized to conclude any binding
> > > > agreement on behalf of TiVo Inc. by email. Binding agreements with
> TiVo
> > > > Inc. may only be made by a signed written agreement.
> > > >
> > >
> > > ________________________________
> > >
> > > This email and any attachments may contain confidential and privileged
> > > material for the sole use of the intended recipient. Any review,
> copying,
> > > or distribution of this email (or any attachments) by others is
> > prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > immediately and permanently delete this email and any attachments. No
> > > employee or agent of TiVo Inc. is authorized to conclude any binding
> > > agreement on behalf of TiVo Inc. by email. Binding agreements with TiVo
> > > Inc. may only be made by a signed written agreement.
> > >
> >
>
>
>
> --
> Navina R.
>
> ________________________________
>
> This email and any attachments may contain confidential and privileged
> material for the sole use of the intended recipient. Any review, copying,
> or distribution of this email (or any attachments) by others is prohibited.
> If you are not the intended recipient, please contact the sender
> immediately and permanently delete this email and any attachments. No
> employee or agent of TiVo Inc. is authorized to conclude any binding
> agreement on behalf of TiVo Inc. by email. Binding agreements with TiVo
> Inc. may only be made by a signed written agreement.
>



-- 
Navina R.

Reply via email to