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

Nitay Joffe updated HBASE-1144:
-------------------------------

    Attachment: overview.patch

Updates to the overview.html documentation.

While writing this and thinking about Stack's comments I realized that our 
current system for configuring ZooKeeper is too complicated.

We have certain pieces of information which needs to be duplicated in zoo.cfg, 
zookeepers, and hbase-site.xml.

>From my example in the documentation:

zoo.cfg:

  tickTime=2000
  dataDir=/var/zookeeper
  clientPort=2181
  initLimit=5
  syncLimit=2
  server.1=zoo1:2888:3888
  server.2=zoo2:2888:3888
  server.3=zoo3:2888:3888

zookeepers:

  zoo1
  zoo2
  zoo3

hbase-site.xml:

  <configuration>
    ...
    <property>
      <name>zookeeper.servers</name>
      <value>zoo1:2181,zoo2:2181,zoo3:2181</value>
      <description>The host and port that the ZooKeeper quorum servers run at.
      </description>
    </property>
    ...
  </configuration>


Specifically, the list of quorum servers in zoo.cfg is written to the 
zookeepers file so that HBase can start/stop the daemons on remote nodes. In 
hbase-site.xml we put the host1:port,host2:port list of quorum servers so that 
clients know who to talk to.

Instead, I think we should get rid of the zookeepers file and the 
zookeeper.servers option in hbase-site.xml and rely solely on zoo.cfg. We do 
not need to change/add any options to zoo.cfg, it remains strictly a ZooKeeper 
configuration file, but we can parse everything we need out of it.
 
The zookeepers file is simply the host part of the server.X lines. The 
zookeeper.servers option in hbase-site.xml is the hosts with the clientPort 
appended to them.

The only reason I can think of to keep it separated is in cases where we want 
HBase to use some existing ZooKeeper cluster which would mean leaving the 
zookeepers file empty. I think this case can be controlled with some new 
boolean option in hbase-site.xml (defaulting to true) which tells HBase whether 
to try starting/stopping ZooKeeper.

Thoughts?

> Store the ROOT region location in Zookeeper
> -------------------------------------------
>
>                 Key: HBASE-1144
>                 URL: https://issues.apache.org/jira/browse/HBASE-1144
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>            Reporter: Jean-Daniel Cryans
>            Assignee: Nitay Joffe
>         Attachments: hbase-1144.patch, overview.patch
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to