【发布时间】:2016-03-17 09:36:29
【问题描述】:
我从 Oozie 官网阅读:Actions Are Asynchronous
由动作节点触发的所有计算/处理任务都由 Oozie 异步执行。对于由工作流操作触发的大多数类型的计算/处理任务,工作流作业必须等到计算/处理任务完成后才能转换到工作流中的下一个节点。
而在同一站点的不同页面上:Fs HDFS action
FS action(同步动作)的引入告诉我们:
FS 命令在 FS 动作中同步执行,工作流作业将等到指定的文件命令完成后再继续执行下一个动作。
为什么同步和异步介绍基本相同?根据我从操作系统原理课上的理解,异步是指函数不等待而是继续执行。
【问题讨论】:
-
不幸的是,文档不是 Oozie 贡献者的第一要务。我觉得确切的措辞应该是“FS 和 EMAIL 操作是从 Oozie 服务中同步执行的;其他操作(涉及自定义代码,通常是数据处理)是通过 YARN 在远程机器上异步执行的,因此 Oozie 必须轮询YARN 定期检测完成并恢复 DAG 执行”。
-
顺便说一句:不是每个人都构建操作系统;在许多情况下,“异步”并不意味着您继续执行做其他事情,而是等待完成并对其进行一些控制(例如,定期获取消息以猜测什么正在发生,甚至超时并杀死该事物)。
标签: asynchronous synchronization oozie