Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20159

Support using separate ZK quorums for client

    XMLWordPrintableJSON

Details

    • Incompatible change, Reviewed
    • Hide
      After HBASE-20159 we allow client to use different ZK quorums by introducing three new properties: hbase.client.zookeeper.quorum and hbase.client.zookeeper.property.clientPort to specify client zookeeper properties (note that the combination of these two properties should be different from the server ZK quorums), and hbase.client.zookeeper.observer.mode to indicate whether the client ZK nodes are in observer mode (false by default)

      HConstants.DEFAULT_ZOOKEPER_CLIENT_PORT has been removed in HBase 3.0 and replaced by the correctly spelled DEFAULT_ZOOKEEPER_CLIENT_PORT.
      Show
      After HBASE-20159 we allow client to use different ZK quorums by introducing three new properties: hbase.client.zookeeper.quorum and hbase.client.zookeeper.property.clientPort to specify client zookeeper properties (note that the combination of these two properties should be different from the server ZK quorums), and hbase.client.zookeeper.observer.mode to indicate whether the client ZK nodes are in observer mode (false by default) HConstants.DEFAULT_ZOOKEPER_CLIENT_PORT has been removed in HBase 3.0 and replaced by the correctly spelled DEFAULT_ZOOKEEPER_CLIENT_PORT.

    Description

      Currently we are using the same zookeeper quorums for client and server, which makes us under risk that if some client connection boost exhausted zookeeper, RegionServer might abort due to zookeeper session loss. Actually we have suffered from this many times in production.

      Here we propose to allow client to use different ZK quorums, through below settings:

      hbase.client.zookeeper.quorum
      hbase.client.zookeeper.property.clientPort
      hbase.client.zookeeper.observer.mode
      

      The first two are for specifying client zookeeper properties, and the third one indicating whether the client ZK nodes are in observer mode. If the client ZK are not observer nodes, HMaster will take responsibility to synchronize necessary meta information (such as meta location and master address, etc.) from server to client ZK

      Attachments

        1. HBASE-20159.branch-2.addendum.v2.patch
          1 kB
          Mike Drob
        2. HBASE-20159.branch-2.patch
          1 kB
          Mike Drob
        3. 20159.addendum2.patch
          2 kB
          Ted Yu
        4. 20159.addendum
          2 kB
          Ted Yu
        5. HBASE-20159.v3.patch
          44 kB
          Yu Li
        6. HBASE-20159.v2.patch
          44 kB
          Yu Li
        7. HBASE-20159.patch
          40 kB
          Yu Li

        Issue Links

          Activity

            People

              liyu Yu Li
              liyu Yu Li
              Votes:
              0 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: