You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Grigoriy Starchenko (JIRA)" <ji...@apache.org> on 2015/06/30 15:57:05 UTC

[jira] [Created] (ZOOKEEPER-2225) modify existing 'configuration' command or add new one to return list of ZooKeeper's ensemble members

Grigoriy Starchenko created ZOOKEEPER-2225:
----------------------------------------------

             Summary: modify existing 'configuration' command or add new one to return list of ZooKeeper's ensemble members
                 Key: ZOOKEEPER-2225
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2225
             Project: ZooKeeper
          Issue Type: Improvement
          Components: server
         Environment: Linux, AWS cloud
            Reporter: Grigoriy Starchenko


Hi, All

 We are building high-availability ZooKeeper cluster at AWS and using version 3.5.0 because it support dynamic re-configuration. Everything works but one problem: it is difficult for ZooKeeper clients to discover current ensemble list. Obvious solution is to put ZooKeeper behind AWS load balancer. Client during initialization will call ZooKeeper via load balancer to read /zookeeper/config and will be able to build connection string. We quickly discovered ZooKeeper API not working trough AWS load-balancer.

 ZooKeeper, starting from 3.5.0, support AdminServer option which working just fine behind any type of load balancers. The catch is: no command avail to date to get list of hosts representing ensemble. 

http://localhost:8080/commands/...

provide a lot of info but none of them returns

{code}
server.4108=10.50.4.108:2888:3888:participant;0.0.0.0:2181
server.316=10.50.3.16:2888:3888:participant;0.0.0.0:2181
server.1215=10.50.1.215:2888:3888:participant;0.0.0.0:2181
version=100000000
{code}

 I think it would be very useful add new command:

http://localhost:8080/commands/dconfig

 which will return current ZooKeeper dynamic comfiguration:

{code}
{
  "server.4108"  :  "10.50.4.108:2888:3888:participant;0.0.0.0:2181",
   "server.316" : "10.50.3.16:2888:3888:participant;0.0.0.0:2181",
   "server.1215" : "10.50.1.215:2888:3888:participant;0.0.0.0:2181"
   "version" : "100000000"
}
{code}

Thank you,
Grisha
 



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