public static class DiskBalancer.DiskBalancerMover extends Object implements DiskBalancer.BlockMover
Constructor and Description |
---|
DiskBalancerMover(org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi dataset,
org.apache.hadoop.conf.Configuration conf)
Constructs diskBalancerMover.
|
Modifier and Type | Method and Description |
---|---|
long |
computeDelay(long bytesCopied,
long timeUsed,
org.apache.hadoop.hdfs.server.datanode.DiskBalancerWorkItem item)
Computes sleep delay needed based on the block that just got copied.
|
void |
copyBlocks(DiskBalancer.VolumePair pair,
org.apache.hadoop.hdfs.server.datanode.DiskBalancerWorkItem item)
Copies blocks from a set of volumes.
|
org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi |
getDataset()
Returns a pointer to the current dataset we are operating against.
|
long |
getElapsedSeconds()
Number of seconds elapsed.
|
long |
getStartTime()
Returns time when this plan started executing.
|
void |
setExitFlag()
Signals copy block to exit.
|
void |
setRunnable()
Sets Diskmover copyblocks into runnable state.
|
boolean |
shouldRun()
Returns the shouldRun boolean flag.
|
public DiskBalancerMover(org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi dataset, org.apache.hadoop.conf.Configuration conf)
dataset
- Datasetconf
- Configurationpublic void setRunnable()
setRunnable
in interface DiskBalancer.BlockMover
public void setExitFlag()
setExitFlag
in interface DiskBalancer.BlockMover
public boolean shouldRun()
public long computeDelay(long bytesCopied, long timeUsed, org.apache.hadoop.hdfs.server.datanode.DiskBalancerWorkItem item)
bytesCopied
- - byteCopied.timeUsed
- in millisecondsitem
- DiskBalancerWorkItempublic void copyBlocks(DiskBalancer.VolumePair pair, org.apache.hadoop.hdfs.server.datanode.DiskBalancerWorkItem item)
copyBlocks
in interface DiskBalancer.BlockMover
pair
- - Source and Destination Volumes.item
- - Number of bytes to move from volumes.public org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi getDataset()
getDataset
in interface DiskBalancer.BlockMover
public long getStartTime()
getStartTime
in interface DiskBalancer.BlockMover
public long getElapsedSeconds()
getElapsedSeconds
in interface DiskBalancer.BlockMover
Copyright © 2008–2020 Apache Software Foundation. All rights reserved.