我想知道spark或flink执行引擎(主调度器)如何为每个块找到合适的worker。namenode将能够告诉他们区块的确切位置,但这项任务是由spark和flink的作业经理完成的,还是这是Yarn发挥作用的地方?
syqv5f0l1#
我只能替Flink说。这个 JobManager 从请求块信息 HDFS Namenode 并计算块任务分配。首先,将本地块分配给每个 TaskManger (商标)。如果一个tm没有任何本地块,它就会分配远程块。如果没有任何本地块可用,所有剩余的块将均匀地分配给所有的tms(以获得良好的负载平衡)。
JobManager
HDFS Namenode
TaskManger
1条答案
按热度按时间syqv5f0l1#
我只能替Flink说。这个
JobManager
从请求块信息HDFS Namenode
并计算块任务分配。首先,将本地块分配给每个TaskManger
(商标)。如果一个tm没有任何本地块,它就会分配远程块。如果没有任何本地块可用,所有剩余的块将均匀地分配给所有的tms(以获得良好的负载平衡)。