[ 
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|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.

  was:
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.


> 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|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.



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

Reply via email to