Q:

How does mapreduce work under HDFS replication mechanism, etc

I am learning Hadoop and have three questions regarding to how dfs.replication and mapreduce work together, etc. Suppose replication = 1, so each block will be copied to two salves/data nodes (DN) to process data. 
Question1: how do master/name node (NN) and each DN know which DN should works on which block ( e.g. should DN1 processes block1 or DN2 do that?)
Question2: if DN1 fails, NN will not know that immediately. It will know it after like 10 minutes, according a PPT I read. Then when NN reassigns the task to DN2, how does NN and DN2 know from which point should DN2 start to catch up?
Question3: with the concept of clouding, DN can be anywhere in the world. and therefore it will lead to heavy traffics in order to send large amounts of blocks from a client to a DN if they are far from each other. will it be a big burden to the internet if many servers are doing this kind of work? 

A:

Answer1 : Scheduler will assign some work to one of the TaskTrackers. Hadoop comes with a few schedulers (1, 2) or a custom scheduler can be written.
Answer2 : The processing of the block will be done from the start whenever there is a failure processing it.
Answer3 : Hadoop is not designed where network latency between the nodes is very high. So, the nodes should be created within a DC or an availability zone.

