通常所说的 DAG 组件,指的是每个分布式作业的中心管理点,也就是 application master (AM)。AM 之所以经常被称为 DAG (Directional Acyclic Graph,有向无环图) 组件,是因为AM最重要的责任,就是负责协调分布式作业的执行。而现代的分布式系统中的作业执行流程,通常可以通过 DAG 上面的调度以及数据流来描述。相对于传统的 Map-Reduce 执行模式,DAG 的模型能对分布式作业做更精准的描述,也是当今各种主流大数据系统(Hadoop 2.0+, SPARK, FLINK, TENSORFLOW 等)的设计架构基础,区别只在于 DAG 的语义是透露给终端用户,还是计算引擎开发者。
与此同时,从整个分布式系统 stack 来看, AM肩负着除了运行 DAG 以外更多的责 任。作为作业的中心管控节点,向下其负责与 Resource Manager 之间的交互,为分布式作业申请计算资源;向上其负责与计算引擎进行交互,并将收集的信息反馈到 DAG 的执行过程中。作为唯一有能力对每一个分布式作业的执行大局有最精准的了解的组件,在全局上对 DAG 的运行做准确的管控和调整,也是 AM 的重要职责。AM 是系统中唯一需要和几乎所有分布式组件交互的组件,在作业的运行中起了重要的承上启下的作用。这一组件之前在伏羲系统中被称为 JobMaster (JM)。
以上内容摘自《“伏羲”神算》电子书,点击https://developer.aliyun.com/topic/download?id=873
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。