【问题标题】:Oozie > what is the difference between asynchronous actions and synchronous actionsOozie > 异步动作和同步动作有什么区别
【发布时间】: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


【解决方案1】:

摘自:Mohammad Kamrul Islam 和 Aravind Srinivasan。 “Apache Oozie。”

异步操作:所有 Hadoop 操作和 <shell> 操作都遵循“操作执行模型”。这些被称为异步操作,因为它们是通过启动器作为 Hadoop 作业启动的。

同步操作: 文件系统操作、电子邮件操作、SSH 操作和子工作流操作由 Oozie 服务器本身执行,称为同步操作。这些同步动作的执行不需要运行任何用户代码——只需访问一些库。

本质上,在这两种情况下,Oozie 服务器都会等待操作完成,然后仅移动到 DAG 中的下一个操作。分离主要基于actinos是在同一个Oozie服务器上执行还是在Hadoop集群上执行。

这里是 Oozie 动作及其动作执行模型的列表。

【讨论】:

猜你喜欢
  • 2020-03-28
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多