<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package org.apache.hadoop.hbase.master.balancer (Apache HBase 3.0.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Uses of Package org.apache.hadoop.hbase.master.balancer (Apache HBase 3.0.0-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/balancer/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Uses of Package org.apache.hadoop.hbase.master.balancer" class="title">Uses of Package<br>org.apache.hadoop.hbase.master.balancer</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/package-summary.html">org.apache.hadoop.hbase.master.balancer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.favored">org.apache.hadoop.hbase.favored</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.balancer">org.apache.hadoop.hbase.master.balancer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.favored">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/package-summary.html">org.apache.hadoop.hbase.master.balancer</a> used by <a href="../../../../../../org/apache/hadoop/hbase/favored/package-summary.html">org.apache.hadoop.hbase.favored</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.html#org.apache.hadoop.hbase.favored">BaseLoadBalancer</a>
<div class="block">The base class for load balancers.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.master">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/package-summary.html">org.apache.hadoop.hbase.master.balancer</a> used by <a href="../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BalancerChore.html#org.apache.hadoop.hbase.master">BalancerChore</a>
<div class="block">Chore that will call HMaster.balance<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance--"><code>HMaster.balance()</code></a> when
 needed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/ClusterStatusChore.html#org.apache.hadoop.hbase.master">ClusterStatusChore</a>
<div class="block">Chore that will feed the balancer the cluster status.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.master.balancer">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/package-summary.html">org.apache.hadoop.hbase.master.balancer</a> used by <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/package-summary.html">org.apache.hadoop.hbase.master.balancer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BalancerRegionLoad.html#org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>
<div class="block">Wrapper class for the few fields required by the <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer"><code>StochasticLoadBalancer</code></a>
 from the full <a href="../../../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase"><code>RegionMetrics</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.html#org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer</a>
<div class="block">The base class for load balancers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.Cluster.html#org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster</a>
<div class="block">An efficient array based implementation similar to ClusterState for keeping
 the status of the cluster in terms of region assignment and distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.Cluster.Action.html#org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster.Action</a>
<div class="block">An action to move or swap a region</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.Cluster.Action.Type.html#org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster.Action.Type</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/BaseLoadBalancer.Cluster.LocalityType.html#org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster.LocalityType</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/CandidateGenerator.html#org.apache.hadoop.hbase.master.balancer">CandidateGenerator</a>
<div class="block">Generates a candidate action to be applied to the cluster for cost function search</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/ClusterInfoProvider.html#org.apache.hadoop.hbase.master.balancer">ClusterInfoProvider</a>
<div class="block">This is the cluster we want to balance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/LocalityBasedCandidateGenerator.html#org.apache.hadoop.hbase.master.balancer">LocalityBasedCandidateGenerator</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/MetricsBalancer.html#org.apache.hadoop.hbase.master.balancer">MetricsBalancer</a>
<div class="block">Faced for exposing metrics about the balancer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/MetricsBalancerSource.html#org.apache.hadoop.hbase.master.balancer">MetricsBalancerSource</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/MetricsBalancerSourceImpl.html#org.apache.hadoop.hbase.master.balancer">MetricsBalancerSourceImpl</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/MetricsStochasticBalancerSource.html#org.apache.hadoop.hbase.master.balancer">MetricsStochasticBalancerSource</a>
<div class="block">This interface extends the basic metrics balancer source to add a function
 to report metrics that related to stochastic load balancer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/RegionHDFSBlockLocationFinder.html#org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>
<div class="block">This will find where data for a region is located in HDFS.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/RegionInfoComparator.html#org.apache.hadoop.hbase.master.balancer">RegionInfoComparator</a>
<div class="block">The following comparator assumes that RegionId from HRegionInfo can represent
 the age of the region - larger RegionId means the region is younger.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/RegionReplicaCandidateGenerator.html#org.apache.hadoop.hbase.master.balancer">RegionReplicaCandidateGenerator</a>
<div class="block">Generates candidates which moves the replicas out of the region server for
 co-hosted region replicas</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/ServerAndLoad.html#org.apache.hadoop.hbase.master.balancer">ServerAndLoad</a>
<div class="block">Data structure that holds servername and 'load'.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/SimpleLoadBalancer.BalanceInfo.html#org.apache.hadoop.hbase.master.balancer">SimpleLoadBalancer.BalanceInfo</a>
<div class="block">Stores additional per-server information about the regions added/removed
 during the run of the balancing algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer</a>
<div class="block">This is a best effort load balancer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.CostFromRegionLoadAsRateFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.CostFromRegionLoadAsRateFunction</a>
<div class="block">Class to be used for the subset of RegionLoad costs that should be treated as rates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.CostFromRegionLoadFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.CostFromRegionLoadFunction</a>
<div class="block">Base class the allows writing costs functions from rolling average of some
 number from RegionLoad.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.CostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.CostFunction</a>
<div class="block">Base class of StochasticLoadBalancer's Cost Functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.LocalityBasedCostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.LocalityBasedCostFunction</a>
<div class="block">Compute a cost of a potential cluster configuration based upon where
 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HStoreFile</code></a>s are located.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.RackLocalityCostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.RackLocalityCostFunction</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.RandomCandidateGenerator.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.RandomCandidateGenerator</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.RegionReplicaHostCostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.RegionReplicaHostCostFunction</a>
<div class="block">A cost function for region replicas.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.RegionReplicaRackCostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.RegionReplicaRackCostFunction</a>
<div class="block">A cost function for region replicas for the rack distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/class-use/StochasticLoadBalancer.ServerLocalityCostFunction.html#org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.ServerLocalityCostFunction</a>&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/balancer/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
