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

Sanjeet Malhotra updated HBASE-27420:
-------------------------------------
    Description: 
{*}{*}With this change zookeeper will only listen for client connections on 
127.0.0.1 in standalone mode. If HBase is running in standalone mode inside a 
docker container and docker port forwarding is being used to connect to HBase 
inside container then, any client trying to connect to zk will have destination 
IP as container's private IP rather than loopback IP. This will cause zk to 
reject all client connections being initiated from outside the container. 

Thus, we need a way to make zk listen for client connections on IP other than 
loopback. zk already provides a property named `clientPortAddress` to specify 
the address to listen for client connections. And, we can specify zk properties 
using `hbase.zookeeper.property.` prefix. Thus, the proposal is to allow user 
to specify the IP address that zk will listen on using 
`hbase.zookeeper.property.clientPortAddress` and if its not specified then 
default to loopback as per current behaviour.

This way, the tests will still remain unimpacted and HBase can also be used in 
standalone mode in a container.

  was:
{*}{*}With [this change|https://issues.apache.org/jira/browse/HBASE-23993] 
zookeeper will only listen for client connections on 127.0.0.1 in standalone 
mode. If HBase is running in standalone mode inside a docker container and 
docker port forwarding is being used to connect to HBase inside container then, 
any client trying to connect to zk will have destination IP as container's 
private IP rather than loopback IP. This will cause zk to reject all client 
connections being initiated from outside the container. 

Thus, we need a way to make zk listen for client connections on IP other than 
loopback. zk already provides a property named `clientPortAddress` to specify 
the address to listen for client connections. And, we can specify zk properties 
using `hbase.zookeeper.property.` prefix. Thus, the proposal is to allow user 
to specify the IP address that zk will listen on using 
`hbase.zookeeper.property.clientPortAddress` and if its not specified then 
default to loopback as per current behaviour.

This way, the tests will still remain unimpacted and HBase can also be used in 
standalone mode in a container.


> Failure while connecting to zk if HBase is running in standalone mode in a 
> container
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-27420
>                 URL: https://issues.apache.org/jira/browse/HBASE-27420
>             Project: HBase
>          Issue Type: Bug
>          Components: Zookeeper
>            Reporter: Sanjeet Malhotra
>            Assignee: Sanjeet Malhotra
>            Priority: Major
>             Fix For: 3.0.0-alpha-4
>
>
> {*}{*}With this change zookeeper will only listen for client connections on 
> 127.0.0.1 in standalone mode. If HBase is running in standalone mode inside a 
> docker container and docker port forwarding is being used to connect to HBase 
> inside container then, any client trying to connect to zk will have 
> destination IP as container's private IP rather than loopback IP. This will 
> cause zk to reject all client connections being initiated from outside the 
> container. 
> Thus, we need a way to make zk listen for client connections on IP other than 
> loopback. zk already provides a property named `clientPortAddress` to specify 
> the address to listen for client connections. And, we can specify zk 
> properties using `hbase.zookeeper.property.` prefix. Thus, the proposal is to 
> allow user to specify the IP address that zk will listen on using 
> `hbase.zookeeper.property.clientPortAddress` and if its not specified then 
> default to loopback as per current behaviour.
> This way, the tests will still remain unimpacted and HBase can also be used 
> in standalone mode in a container.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to