hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clay B. (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-12954) Ability impared using HBase on multihomed hosts
Date Mon, 02 Feb 2015 15:55:35 GMT

     [ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Clay B. updated HBASE-12954:
----------------------------
    Attachment: Hadoop Three Interfaces.png

Diagram showing two currently pathological networks:

h3. Multi-homed/Multi-IP Bare Metal

Here we see machines with multiple physical network interfaces (eth0, eth4.1000, eth5.1001)
and mutiple IP addresses per physical interface (e.g. host-specific f-hostb.bach.example.com
and a transient VIP services.bach.example.com).

Here, we would want to bind HBase services to a specific IP address (i.e. 192.168.100.12)
 and we would want to advertise HBase services in Zookeeper at a specific hostname (i.e. f-hostb.bach.example.com).

Using only a physical interface (i.e. eth5.1001) this is not possible.

h3. OpenStack

Here we see that each VM only knows of its internal (-int) address; i.e. if one runs an `ip
addr list` they will only see a 100.127.0.0/24 address but in Zookeeper we would like to advertise
the hostname which corresponds to the globally reachable NAT'd IP address (the 192.168.101.0/24)
address (here for example `hosta.tenant.openstack.example.com`). Meanwhile, as the VM is unaware
of the 192.168.101.0/24 network on its local IP stack we would have to bind to the hosts only
IP interface 100.127.1.2.


> Ability impared using HBase on multihomed hosts
> -----------------------------------------------
>
>                 Key: HBASE-12954
>                 URL: https://issues.apache.org/jira/browse/HBASE-12954
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.4
>            Reporter: Clay B.
>            Priority: Minor
>         Attachments: Hadoop Three Interfaces.png
>
>
> For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical
machines with multiple IP's per network interface) it would be ideal to have a way to both
specify:
> # which IP interface to which HBase master or region-server will bind
> # what hostname HBase will advertise in Zookeeper both for a master or region-server
process
> While efforts such as HBASE-8640 go a long way to normalize these two sources of information,
it is not possible in the current design of the properties available to an administrator for
these to be unambiguously specified.
> One has been able to request `hbase.master.ipc.address` or `hbase.regionserver.ipc.address`
but one can not specify the desired HBase `hbase.master.hostname`. (It was removed in HBASE-1357,
further I am unaware of a region-server equivalent.)
> I use a configuration management system to generate all of my configuration files on
a per-machine basis. As such, an option to generate a file specifying exactly which hostname
to use would be helpful.
> Today, specifying the bind address for HBase works and one can use an HBase-only DNS
for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no
intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may
differ from the system's resolver and is a single IP address. Similarly, on hosts which use
a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly
non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon
start-up time.
> I will attach two networking examples I use which become very difficult to manage under
the current properties.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message