Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # user - Getting the IP Address


Copy link to this message
-
Re: Getting the IP Address
Christopher 2013-08-28, 19:00
I'm not sure this is even very portable. It relies on a specific
ifconfig display format intended for human-readability, and I'm not
sure that's entirely guaranteed to be static over time. It also won't
work if there are multiple public interfaces. It also don't think it
works for infiniband or other interface types that have issues in
ifconfig.

I think we have to make *some* assumptions that things like
"networking" is properly configured using standard utilities for
name-mapping (like DNS or /etc/hosts). I think it's more confusing for
sysadmins if we have these sorts of automatic behaviors that are
non-standard and unexpected (like automatically binding to a single,
arbitrarily chosen, public IP out of the box).

Honestly, though, I'm not sure why we need to be resolving public IP
addresses *at all*. It should be configured explicitly, and bind to
either 127.0.0.1 or 0.0.0.0 by default (to satisfy the ease for
first-time users).
--
Christopher L Tubbs II
http://gravatar.com/ctubbsii
On Wed, Aug 28, 2013 at 1:54 PM, John Vines <[EMAIL PROTECTED]> wrote:
> We use this similar logic throughout a lot of our scripts for determining
> the external facing IP address in a portable manner, it's just that the
> init.d scripts are a bit more strict about it. This is the equivalent of
> using the name defined in the slaves/masters/tracers/etc. files to determine
> which port to report as.
>
> Switching to a system that depends on DNS to succeed will fail for all first
> time users, which is a penalty that will not be worth it. If someone can
> find a better way to determine outward facing IP address I would love to
> have it, but unfortunately networks are hard.
>
>
> On Wed, Aug 28, 2013 at 1:44 PM, Billie Rinaldi <[EMAIL PROTECTED]>
> wrote:
>>
>> Good point.  I don't care if the init.d scripts work on a Mac.  I do care
>> about the other scripts, though.
>>
>>
>> On Wed, Aug 28, 2013 at 10:32 AM, Christopher <[EMAIL PROTECTED]> wrote:
>>>
>>> But... it shouldn't be a supported platform for init scripts... I
>>> imagine.
>>>
>>> --
>>> Christopher L Tubbs II
>>> http://gravatar.com/ctubbsii
>>>
>>>
>>> On Wed, Aug 28, 2013 at 1:03 PM, Billie Rinaldi
>>> <[EMAIL PROTECTED]> wrote:
>>> > It's a supported development platform.  =)
>>> >
>>> >
>>> > On Wed, Aug 28, 2013 at 9:59 AM, Sean Busbey <[EMAIL PROTECTED]>
>>> > wrote:
>>> >>
>>> >> hostname -i does not work on a Mac ( 10.8.4 )
>>> >>
>>> >> Is Mac a supported platform?
>>> >>
>>> >>
>>> >> On Wed, Aug 28, 2013 at 11:53 AM, Eric Newton <[EMAIL PROTECTED]>
>>> >> wrote:
>>> >>>
>>> >>> Does "hostname -i" work on a mac?  Not being a mac user, I can't
>>> >>> check.
>>> >>>
>>> >>> -Eric
>>> >>>
>>> >>>
>>> >>>
>>> >>> On Wed, Aug 28, 2013 at 11:38 AM, Ravi Mutyala <[EMAIL PROTECTED]>
>>> >>> wrote:
>>> >>>>
>>> >>>> Hi,
>>> >>>>
>>> >>>> I see from the accumulo-tracer init.d script that IP is determined
>>> >>>> by
>>> >>>> this logic.
>>> >>>>
>>> >>>> ifconfig | grep inet[^6] | awk '{print $2}' | sed 's/addr://' | grep
>>> >>>> -v
>>> >>>> 0.0.0.0 | grep -v 127.0.0.1 | head -n 1
>>> >>>>
>>> >>>>
>>> >>>> Any reason for using this logic instead of a hostname -i and using
>>> >>>> reverse dns lookup? I have a cluster where the order of nics on one
>>> >>>> of the
>>> >>>> nodes is in a different order and ifconfig returns a IP from a
>>> >>>> different
>>> >>>> subnet than for other nodes. But DNS and reverse DNS are properly
>>> >>>> configured.
>>> >>>>
>>> >>>> Thanks
>>> >>>>
>>> >>>> CONFIDENTIALITY NOTICE
>>> >>>> NOTICE: This message is intended for the use of the individual or
>>> >>>> entity
>>> >>>> to which it is addressed and may contain information that is
>>> >>>> confidential,
>>> >>>> privileged and exempt from disclosure under applicable law. If the
>>> >>>> reader of
>>> >>>> this message is not the intended recipient, you are hereby notified
>>> >>>> that any
>>> >>>> printing, copying, dissemination, distribution, disclosure or
>>> >