Package org.apache.hadoop.hdfs.server.diskbalancer.planner
package org.apache.hadoop.hdfs.server.diskbalancer.planner
Planner takes a DiskBalancerVolumeSet, threshold and
computes a series of steps that lead to an even data
distribution between volumes of this DiskBalancerVolumeSet.
The main classes of this package are steps and planner.
Here is a high level view of how planner operates:
DiskBalancerVolumeSet current = volumeSet;
while(current.isBalancingNeeded(thresholdValue)) {
// Creates a plan , like move 20 GB data from v1 -> v2
Step step = planner.plan(current, thresholdValue);
// we add that to our plan
planner.addStep(current, step);
// Apply the step to current state of the diskSet to
//compute the next state
current = planner.apply(current, step);
}
//when we are done , return the list of steps
return planner;
-
ClassDescriptionorg.apache.hadoop.hdfs.server.diskbalancer.planner.GreedyPlannerGreedy Planner is a simple planner that computes the largest possible move at any point of time given a volumeSet.org.apache.hadoop.hdfs.server.diskbalancer.planner.MoveStepIgnore fields with default values.org.apache.hadoop.hdfs.server.diskbalancer.planner.NodePlanNodePlan is a set of volumeSetPlans.org.apache.hadoop.hdfs.server.diskbalancer.planner.PlannerPlanner interface allows different planners to be created.org.apache.hadoop.hdfs.server.diskbalancer.planner.PlannerFactoryReturns a planner based on the user defined tags.org.apache.hadoop.hdfs.server.diskbalancer.planner.StepA step in the plan.