使用Spark或Flink时,如何实现HDFS的位置感知?

时间:2015-08-23 06:02:02

标签: apache-spark hdfs yarn apache-flink

我想知道Spark或Flink执行引擎(主调度程序)如何为每个块找到合适的worker。

namenode能够告诉他们块的确切位置,但是这项任务是由Spark和Flink的职业经理完成的,还是YARN发挥作用的呢?

1 个答案:

答案 0 :(得分:1)

我只能告诉Flink。 JobManagerHDFS Namenode请求块信息并计算块任务分配。首先,为每个TaskManger(TM)分配本地块。如果TM没有任何本地块,则会分配远程块。如果没有可用的本地块,则所有剩余的块均匀分配在所有TM上(以获得良好的负载平衡)。