@Private
public class Dispatcher
extends java.lang.Object
| Modifier and Type | Class | Description |
|---|---|---|
static class |
Dispatcher.DBlock |
A class for keeping track of block locations in the dispatcher.
|
static class |
Dispatcher.DBlockStriped |
|
static class |
Dispatcher.DDatanode |
A class that keeps track of a datanode.
|
class |
Dispatcher.PendingMove |
This class keeps track of a scheduled reportedBlock move
|
class |
Dispatcher.Source |
A node that can be the sources of a block move
|
static class |
Dispatcher.StorageGroupMap<G extends Dispatcher.DDatanode.StorageGroup> |
| Constructor | Description |
|---|---|
Dispatcher(NameNodeConnector nnc,
java.util.Set<java.lang.String> includedNodes,
java.util.Set<java.lang.String> excludedNodes,
long movedWinWidth,
int moverThreads,
int dispatcherThreads,
int maxConcurrentMovesPerNode,
int maxNoMoveInterval,
org.apache.hadoop.conf.Configuration conf) |
Constructor called by Mover.
|
| Modifier and Type | Method | Description |
|---|---|---|
static void |
checkForBlockPinningFailures(java.util.Map<java.lang.Long,java.util.Set<org.apache.hadoop.hdfs.protocol.DatanodeInfo>> excludedPinnedBlocks,
java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets) |
Check any of the block movements are failed due to block pinning errors.
|
static boolean |
checkForSuccess(java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets) |
|
boolean |
dispatchAndCheckContinue() |
|
void |
executePendingMove(Dispatcher.PendingMove p) |
|
org.apache.hadoop.net.NetworkTopology |
getCluster() |
|
org.apache.hadoop.hdfs.DistributedFileSystem |
getDistributedFileSystem() |
|
Dispatcher.StorageGroupMap<Dispatcher.DDatanode.StorageGroup> |
getStorageGroupMap() |
|
java.util.List<org.apache.hadoop.hdfs.server.protocol.DatanodeStorageReport> |
init() |
Get live datanode storage reports and then build the network topology.
|
int |
moveTasksTotal() |
|
Dispatcher.DDatanode |
newDatanode(org.apache.hadoop.hdfs.protocol.DatanodeInfo datanode) |
|
static void |
setDelayAfterErrors(long time) |
|
void |
shutdownNow() |
shutdown thread pools
|
static boolean |
waitForMoveCompletion(java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets) |
Wait for all reportedBlock move confirmations.
|
public Dispatcher(NameNodeConnector nnc, java.util.Set<java.lang.String> includedNodes, java.util.Set<java.lang.String> excludedNodes, long movedWinWidth, int moverThreads, int dispatcherThreads, int maxConcurrentMovesPerNode, int maxNoMoveInterval, org.apache.hadoop.conf.Configuration conf)
public org.apache.hadoop.hdfs.DistributedFileSystem getDistributedFileSystem()
public Dispatcher.StorageGroupMap<Dispatcher.DDatanode.StorageGroup> getStorageGroupMap()
public org.apache.hadoop.net.NetworkTopology getCluster()
public int moveTasksTotal()
public java.util.List<org.apache.hadoop.hdfs.server.protocol.DatanodeStorageReport> init()
throws java.io.IOException
java.io.IOExceptionpublic Dispatcher.DDatanode newDatanode(org.apache.hadoop.hdfs.protocol.DatanodeInfo datanode)
public void executePendingMove(Dispatcher.PendingMove p)
public boolean dispatchAndCheckContinue()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static boolean waitForMoveCompletion(java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets)
public static void checkForBlockPinningFailures(java.util.Map<java.lang.Long,java.util.Set<org.apache.hadoop.hdfs.protocol.DatanodeInfo>> excludedPinnedBlocks,
java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets)
public static boolean checkForSuccess(java.lang.Iterable<? extends Dispatcher.DDatanode.StorageGroup> targets)
@VisibleForTesting public static void setDelayAfterErrors(long time)
public void shutdownNow()
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.