为什么oozie将shell操作提交给yarn



我最近正在学习oozie。我对贝壳的动作有点好奇。我正在执行shell操作,其中包含类似的shell命令

hadoop jar <jarPath> <FQCN>

运行此操作时,有两个纱线作业正在运行,它们是

  1. 一个用于hadoop作业

  2. 一个用于外壳动作

我不明白为什么shell操作需要纱线来执行。我还尝试了电子邮件操作。它在没有纱线资源的情况下执行。

要回答这个问题,之间的区别

  1. 独立运行shell脚本(.sh文件或从CLI)
  2. 作为oozie工作流的一部分运行shell操作。(oozie shell操作中的shell脚本)

第一种情况非常明显。

在第二种情况下,oozie通过YARN(是资源协商者)启动shell脚本,在安装oozie的集群上运行shell脚本,并在内部运行MR作业以启动shell操作。因此,shell脚本在内部作为YARN应用程序运行。oozie工作流的日志显示了在oozie中启动shell操作的方式。

最新更新