Block move execution
The HDFS Balancer dispatches a scheduled block move by invoking the
DataTransferProtocol.replaceBlock(..) method to the target DataNode.
The Balancer specifies the
proxy, and the source as
delete-hint in the method call. The target
DataNode copies the replica directly from the proxy to its local storage. When the
copying process has been completed, the target DataNode reports the new replica to the
NameNode with the
delete-hint. NameNode uses
delete-hint to delete the extra replica, that is, delete the
replica stored in the source.
After all block moves are dispatched, the HDFS Balancer waits until all the moves
are completed. Then, the HDFS Balancer continues running a new iteration and repeats
all of the steps. If the scheduled moves fail for
iterations, the HDFS Balancer terminates with a