我想知道Spark或Flink执行引擎(主调度程序)如何为每个块找到合适的worker。
namenode能够告诉他们块的确切位置,但是这项任务是由Spark和Flink的职业经理完成的,还是YARN发挥作用的呢?
答案 0 :(得分:1)
我只能告诉Flink。 JobManager
从HDFS Namenode
请求块信息并计算块任务分配。首先,为每个TaskManger
(TM)分配本地块。如果TM没有任何本地块,则会分配远程块。如果没有可用的本地块,则所有剩余的块均匀分配在所有TM上(以获得良好的负载平衡)。