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

Add dry run mode to hbase balancer

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

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.5.0, 3.0.0-alpha-2
    • Balancer, master
    • None
    • Reviewed
    • Hide
      This change adds new API to the Admin interface for triggering Region balancing on a cluster. A new BalanceRequest object was introduced which allows for configuring a dry run of the balancer (compute a plan without enacting it) and running the balancer in the presence of RITs. Corresponding API was added to the HBase shell as well.
      Show
      This change adds new API to the Admin interface for triggering Region balancing on a cluster. A new BalanceRequest object was introduced which allows for configuring a dry run of the balancer (compute a plan without enacting it) and running the balancer in the presence of RITs. Corresponding API was added to the HBase shell as well.

    Description

      It's often rather hard to know how the cost function changes you're making will affect the balance of the cluster, and currently the only way to know is to run it. If the cost decisions are not good, you may have just moved many regions towards a non-ideal balance. Region moves themselves are not free for clients, and the resulting balance may cause a regression.

      We should add a mode to the balancer so that it can be invoked without actually executing any plans. This will allow an administrator to iterate on their cost functions and used the balancer's logging to see how their changes would affect the cluster. 

      Attachments

        Issue Links

        Activity

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

          People

            bbeaudreault Bryan Beaudreault
            bbeaudreault Bryan Beaudreault
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment