public class BlockPlacementPolicyWithNodeGroup extends org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
Modifier | Constructor and Description |
---|---|
protected |
BlockPlacementPolicyWithNodeGroup() |
protected |
BlockPlacementPolicyWithNodeGroup(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.hdfs.server.namenode.FSClusterStats stats,
org.apache.hadoop.net.NetworkTopology clusterMap) |
Modifier and Type | Method and Description |
---|---|
protected int |
addToExcludedNodes(org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor chosenNode,
Set<org.apache.hadoop.net.Node> excludedNodes)
Find other nodes in the same nodegroup of localMachine and add them
into excludeNodes as replica should not be duplicated for nodes
within the same nodegroup
|
protected DatanodeStorageInfo |
chooseLocalRack(org.apache.hadoop.net.Node localMachine,
Set<org.apache.hadoop.net.Node> excludedNodes,
long blocksize,
int maxNodesPerRack,
List<DatanodeStorageInfo> results,
boolean avoidStaleNodes,
StorageType storageType)
Choose one node from the rack that localMachine is on.
|
protected DatanodeStorageInfo |
chooseLocalStorage(org.apache.hadoop.net.Node localMachine,
Set<org.apache.hadoop.net.Node> excludedNodes,
long blocksize,
int maxNodesPerRack,
List<DatanodeStorageInfo> results,
boolean avoidStaleNodes,
StorageType storageType)
choose local node of localMachine as the target.
|
protected void |
chooseRemoteRack(int numOfReplicas,
org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor localMachine,
Set<org.apache.hadoop.net.Node> excludedNodes,
long blocksize,
int maxReplicasPerRack,
List<DatanodeStorageInfo> results,
boolean avoidStaleNodes,
StorageType storageType)
Choose numOfReplicas nodes from the racks
that localMachine is NOT on.
|
protected String |
getRack(org.apache.hadoop.hdfs.protocol.DatanodeInfo cur)
Get rack string from a data node
|
void |
initialize(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.hdfs.server.namenode.FSClusterStats stats,
org.apache.hadoop.net.NetworkTopology clusterMap)
Used to setup a BlockPlacementPolicy object.
|
Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> |
pickupReplicaSet(Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> first,
Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> second)
Pick up replica node set for deleting replica as over-replicated.
|
chooseRandom, chooseRandom, chooseReplicaToDelete, chooseTarget, verifyBlockPlacement
protected BlockPlacementPolicyWithNodeGroup(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.hdfs.server.namenode.FSClusterStats stats, org.apache.hadoop.net.NetworkTopology clusterMap)
protected BlockPlacementPolicyWithNodeGroup()
public void initialize(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.hdfs.server.namenode.FSClusterStats stats, org.apache.hadoop.net.NetworkTopology clusterMap)
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy
initialize
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
conf
- the configuration objectstats
- retrieve cluster status from hereclusterMap
- cluster topologyprotected DatanodeStorageInfo chooseLocalStorage(org.apache.hadoop.net.Node localMachine, Set<org.apache.hadoop.net.Node> excludedNodes, long blocksize, int maxNodesPerRack, List<DatanodeStorageInfo> results, boolean avoidStaleNodes, StorageType storageType) throws org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
chooseLocalStorage
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
protected DatanodeStorageInfo chooseLocalRack(org.apache.hadoop.net.Node localMachine, Set<org.apache.hadoop.net.Node> excludedNodes, long blocksize, int maxNodesPerRack, List<DatanodeStorageInfo> results, boolean avoidStaleNodes, StorageType storageType) throws org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
chooseLocalRack
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
protected void chooseRemoteRack(int numOfReplicas, org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor localMachine, Set<org.apache.hadoop.net.Node> excludedNodes, long blocksize, int maxReplicasPerRack, List<DatanodeStorageInfo> results, boolean avoidStaleNodes, StorageType storageType) throws org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
chooseRemoteRack
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.NotEnoughReplicasException
protected String getRack(org.apache.hadoop.hdfs.protocol.DatanodeInfo cur)
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy
getRack
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy
protected int addToExcludedNodes(org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor chosenNode, Set<org.apache.hadoop.net.Node> excludedNodes)
addToExcludedNodes
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
public Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> pickupReplicaSet(Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> first, Collection<org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor> second)
pickupReplicaSet
in class org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault
Copyright © 2014 Apache Software Foundation. All Rights Reserved.