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

Improve computeHDFSBlocksDistribution

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Implemented
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      With our cluster is big, i can see the balancer is slow from time to time. And the balancer will be called on master startup, so we can see the startup is slow also.
      The first thing i think whether if we can parallel compute different region's HDFSBlocksDistribution.
      The second i think we can improve compute single region's HDFSBlocksDistribution.
      When to compute a storefile's HDFSBlocksDistribution first we call FileSystem#getFileStatus(path) and then FileSystem#getFileBlockLocations(status, start, length), so two namenode rpc call for every storefile. Instead we can use FileSystem#listLocatedStatus to get a LocatedFileStatus for the information we need, so reduce the namenode rpc call to one. This can speed the computeHDFSBlocksDistribution, but also send out less rpc call to namenode.

        Attachments

        1. HBASE-16393.patch
          5 kB
          Lijin Bin

          Issue Links

            Activity

              People

              • Assignee:
                binlijin Lijin Bin
                Reporter:
                binlijin Lijin Bin
              • Votes:
                0 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: