Ive been trying to understand how the Balancer class works. I know
the basics about the threshold guidelines and the general motivations
of running the balancer.
I had a few questions about block migrations:
1. I noticed there is a Source and Target, but there is also a ProxySource.
I havent been able to grasp the conceptual difference between a source and a
2. I'm also having trouble understanding the actual mechanics of a block
being relocated from
one datanode to the other. I understand that the communication with the
namenode occurs to change
metadata of the block being relocated accordingly, but have not understood
what does the actual copy
of the block itself.
I'd appreciate it if some developer can shed some light on this for me and
point me in the right direction
(like which classes/functions I should be looking at to understand this)