blob: 58d4d57e52a2b2dd7c22d9d067970531343023d4 [file] [log] [blame]
<!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 (1.8.0_292) on Tue Jun 15 06:06:39 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DiskBalancerCluster (Apache Hadoop HDFS 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<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="DiskBalancerCluster (Apache Hadoop HDFS 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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="navBarCell1Rev">Class</li>
<li><a href="class-use/DiskBalancerCluster.html">Use</a></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&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html" target="_top">Frames</a></li>
<li><a href="DiskBalancerCluster.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hdfs.server.diskbalancer.datamodel</div>
<h2 title="Class DiskBalancerCluster" class="title">Class DiskBalancerCluster</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hdfs.server.diskbalancer.datamodel.DiskBalancerCluster</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">DiskBalancerCluster</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">DiskBalancerCluster represents the nodes that we are working against.
<p>
Please Note :
Semantics of inclusionList and exclusionLists.
<p>
If a non-empty inclusionList is specified then the diskBalancer assumes that
the user is only interested in processing that list of nodes. This node list
is checked against the exclusionList and only the nodes in inclusionList but
not in exclusionList is processed.
<p>
if inclusionList is empty, then we assume that all live nodes in the nodes is
to be processed by diskBalancer. In that case diskBalancer will avoid any
nodes specified in the exclusionList but will process all nodes in the
cluster.
<p>
In other words, an empty inclusionList is means all the nodes otherwise
only a given list is processed and ExclusionList is always honored.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#DiskBalancerCluster--">DiskBalancerCluster</a></span>()</code>
<div class="block">Empty Constructor needed by Jackson.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#DiskBalancerCluster-org.apache.hadoop.hdfs.server.diskbalancer.connectors.ClusterConnector-">DiskBalancerCluster</a></span>(<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/connectors/ClusterConnector.html" title="interface in org.apache.hadoop.hdfs.server.diskbalancer.connectors">ClusterConnector</a>&nbsp;connector)</code>
<div class="block">Constructs a DiskBalancerCluster.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/planner/NodePlan.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.planner">NodePlan</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#computePlan-double-">computePlan</a></span>(double&nbsp;thresholdPercent)</code>
<div class="block">Compute plan takes a node and constructs a planner that creates a plan that
we would like to follow.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#createSnapshot-java.lang.String-">createSnapshot</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapShotName)</code>
<div class="block">Writes a snapshot of the cluster to the specified directory.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getExclusionList--">getExclusionList</a></span>()</code>
<div class="block">Returns the current ExclusionList.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getInclusionList--">getInclusionList</a></span>()</code>
<div class="block">Gets the Inclusion list.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getNodeByIPAddress-java.lang.String-">getNodeByIPAddress</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ipAddresss)</code>
<div class="block">Returns a node by IP Address.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getNodeByName-java.lang.String-">getNodeByName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostName)</code>
<div class="block">Returns a node by hostName.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getNodeByUUID-java.lang.String-">getNodeByUUID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uuid)</code>
<div class="block">Returns a node by UUID.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getNodes--">getNodes</a></span>()</code>
<div class="block">Gets all DataNodes in the Cluster.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getNodesToProcess--">getNodesToProcess</a></span>()</code>
<div class="block">Returns the Nodes to Process which is the real list of nodes processed by
diskBalancer.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getOutput--">getOutput</a></span>()</code>
<div class="block">Returns th output path for this cluster.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#getThreshold--">getThreshold</a></span>()</code>
<div class="block">Returns the threshold value.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerCluster</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#parseJson-java.lang.String-">parseJson</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;json)</code>
<div class="block">Parses a Json string and converts to DiskBalancerCluster.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#readClusterInfo--">readClusterInfo</a></span>()</code>
<div class="block">readClusterInfo connects to the cluster and reads the node's data.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setExclusionList-java.util.Set-">setExclusionList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;excludedNodes)</code>
<div class="block">sets the list of nodes to exclude from process of diskBalancer.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setInclusionList-java.util.Set-">setInclusionList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;includeNodes)</code>
<div class="block">Sets the inclusionList.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setNodes-java.util.List-">setNodes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;clusterNodes)</code>
<div class="block">Sets the list of nodes of this cluster.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setNodesToProcess-java.util.List-">setNodesToProcess</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;dnNodesToProcess)</code>
<div class="block">Sets the nodes to process.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setOutput-java.lang.String-">setOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;output)</code>
<div class="block">Sets the output path for this run.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#setThreshold-float-">setThreshold</a></span>(float&nbsp;thresholdPercent)</code>
<div class="block">Sets the threshold value.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html#toJson--">toJson</a></span>()</code>
<div class="block">returns a serialized json string.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DiskBalancerCluster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DiskBalancerCluster</h4>
<pre>public&nbsp;DiskBalancerCluster()</pre>
<div class="block">Empty Constructor needed by Jackson.</div>
</li>
</ul>
<a name="DiskBalancerCluster-org.apache.hadoop.hdfs.server.diskbalancer.connectors.ClusterConnector-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DiskBalancerCluster</h4>
<pre>public&nbsp;DiskBalancerCluster(<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/connectors/ClusterConnector.html" title="interface in org.apache.hadoop.hdfs.server.diskbalancer.connectors">ClusterConnector</a>&nbsp;connector)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Constructs a DiskBalancerCluster.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connector</code> - - ClusterConnector</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="parseJson-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseJson</h4>
<pre>public static&nbsp;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerCluster</a>&nbsp;parseJson(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;json)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Parses a Json string and converts to DiskBalancerCluster.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>json</code> - - Json String</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>DiskBalancerCluster</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="readClusterInfo--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readClusterInfo</h4>
<pre>public&nbsp;void&nbsp;readClusterInfo()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">readClusterInfo connects to the cluster and reads the node's data. This
data is used as basis of rest of computation in DiskBalancerCluster</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="getNodes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodes</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;getNodes()</pre>
<div class="block">Gets all DataNodes in the Cluster.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of DisKBalancerDataNodes</dd>
</dl>
</li>
</ul>
<a name="setNodes-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodes</h4>
<pre>public&nbsp;void&nbsp;setNodes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;clusterNodes)</pre>
<div class="block">Sets the list of nodes of this cluster.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clusterNodes</code> - List of Nodes</dd>
</dl>
</li>
</ul>
<a name="getExclusionList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExclusionList</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getExclusionList()</pre>
<div class="block">Returns the current ExclusionList.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of Nodes that are excluded from diskBalancer right now.</dd>
</dl>
</li>
</ul>
<a name="setExclusionList-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExclusionList</h4>
<pre>public&nbsp;void&nbsp;setExclusionList(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;excludedNodes)</pre>
<div class="block">sets the list of nodes to exclude from process of diskBalancer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>excludedNodes</code> - - exclusionList of nodes.</dd>
</dl>
</li>
</ul>
<a name="getThreshold--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreshold</h4>
<pre>public&nbsp;float&nbsp;getThreshold()</pre>
<div class="block">Returns the threshold value. This is used for indicating how much skew is
acceptable, This is expressed as a percentage. For example to say 20% skew
between volumes is acceptable set this value to 20.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>float</dd>
</dl>
</li>
</ul>
<a name="setThreshold-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreshold</h4>
<pre>public&nbsp;void&nbsp;setThreshold(float&nbsp;thresholdPercent)</pre>
<div class="block">Sets the threshold value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thresholdPercent</code> - - float - in percentage</dd>
</dl>
</li>
</ul>
<a name="getInclusionList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInclusionList</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getInclusionList()</pre>
<div class="block">Gets the Inclusion list.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of machine to be processed by diskBalancer.</dd>
</dl>
</li>
</ul>
<a name="setInclusionList-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInclusionList</h4>
<pre>public&nbsp;void&nbsp;setInclusionList(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;includeNodes)</pre>
<div class="block">Sets the inclusionList.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>includeNodes</code> - - set of machines to be processed by diskBalancer.</dd>
</dl>
</li>
</ul>
<a name="toJson--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toJson</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toJson()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">returns a serialized json string.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String - json</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getNodesToProcess--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodesToProcess</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;getNodesToProcess()</pre>
<div class="block">Returns the Nodes to Process which is the real list of nodes processed by
diskBalancer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of DiskBalancerDataNodes</dd>
</dl>
</li>
</ul>
<a name="setNodesToProcess-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodesToProcess</h4>
<pre>public&nbsp;void&nbsp;setNodesToProcess(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&gt;&nbsp;dnNodesToProcess)</pre>
<div class="block">Sets the nodes to process.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dnNodesToProcess</code> - - List of DataNodes to process</dd>
</dl>
</li>
</ul>
<a name="getOutput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutput</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOutput()</pre>
<div class="block">Returns th output path for this cluster.</div>
</li>
</ul>
<a name="setOutput-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutput</h4>
<pre>public&nbsp;void&nbsp;setOutput(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;output)</pre>
<div class="block">Sets the output path for this run.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>output</code> - - Path</dd>
</dl>
</li>
</ul>
<a name="createSnapshot-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSnapshot</h4>
<pre>public&nbsp;void&nbsp;createSnapshot(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapShotName)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes a snapshot of the cluster to the specified directory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapShotName</code> - - name of the snapshot</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="computePlan-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computePlan</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/planner/NodePlan.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.planner">NodePlan</a>&gt;&nbsp;computePlan(double&nbsp;thresholdPercent)</pre>
<div class="block">Compute plan takes a node and constructs a planner that creates a plan that
we would like to follow.
<p>
This function creates a thread pool and executes a planner on each node
that we are supposed to plan for. Each of these planners return a NodePlan
that we can persist or schedule for execution with a diskBalancer
Executor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thresholdPercent</code> - - in percentage</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of NodePlans</dd>
</dl>
</li>
</ul>
<a name="getNodeByUUID-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeByUUID</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&nbsp;getNodeByUUID(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uuid)</pre>
<div class="block">Returns a node by UUID.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uuid</code> - - Node's UUID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>DiskBalancerDataNode.</dd>
</dl>
</li>
</ul>
<a name="getNodeByIPAddress-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeByIPAddress</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&nbsp;getNodeByIPAddress(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ipAddresss)</pre>
<div class="block">Returns a node by IP Address.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ipAddresss</code> - - IP address String.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>DiskBalancerDataNode.</dd>
</dl>
</li>
</ul>
<a name="getNodeByName-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getNodeByName</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel">DiskBalancerDataNode</a>&nbsp;getNodeByName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostName)</pre>
<div class="block">Returns a node by hostName.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hostName</code> - - HostName.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>DiskBalancerDataNode.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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="navBarCell1Rev">Class</li>
<li><a href="class-use/DiskBalancerCluster.html">Use</a></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&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerDataNode.html" title="class in org.apache.hadoop.hdfs.server.diskbalancer.datamodel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hdfs/server/diskbalancer/datamodel/DiskBalancerCluster.html" target="_top">Frames</a></li>
<li><a href="DiskBalancerCluster.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>