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

[ergonomics] add region size balancing as a feature of master

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0, 1.3.0, 2.0.0
    • Balancer, Usability
    • None
    • Reviewed
    • Hide
      This patch adds optional ability for HMaster to normalize regions in size (disabled by default, change hbase.normalizer.enabled property to true to turn it on). If enabled, HMaster periodically (every 30 minutes by default) monitors tables for which normalization is enabled in table configuration and performs splits/merges as seems appropriate. Users may implement their own normalization strategies by implementing RegionNormalizer interface and configuring it in hbase-site.xml.
      Show
      This patch adds optional ability for HMaster to normalize regions in size (disabled by default, change hbase.normalizer.enabled property to true to turn it on). If enabled, HMaster periodically (every 30 minutes by default) monitors tables for which normalization is enabled in table configuration and performs splits/merges as seems appropriate. Users may implement their own normalization strategies by implementing RegionNormalizer interface and configuring it in hbase-site.xml.

    Description

      Often enough, folks miss-judge split points or otherwise end up with a suboptimal number of regions. We should have an automated, reliable way to "reshape" or "balance" a table's region boundaries. This would be for tables that contain existing data. This might look like:

      Admin#reshapeTable(TableName, int numSplits);
      

      or from the shell:

      > reshape TABLE, numSplits
      

      Better still would be to have a maintenance process, similar to the existing Balancer that runs AssignmentManager on an interval, to run the above "reshape" operation on an interval. That way, the cluster will automatically self-correct toward a desirable state.

      Attachments

        1. HBASE-13103-v0.patch
          49 kB
          Mikhail Antonov
        2. HBASE-13103-v1.patch
          53 kB
          Mikhail Antonov
        3. HBASE-13103-v2.patch
          56 kB
          Mikhail Antonov
        4. HBASE-13103-v3.patch
          56 kB
          Mikhail Antonov
        5. HBASE-13103-branch-1.v3.patch
          57 kB
          Mikhail Antonov

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            mantonov Mikhail Antonov
            ndimiduk Nick Dimiduk
            Votes:
            0 Vote for this issue
            Watchers:
            32 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment