问题标签 [oozie-workflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
810 浏览

apache-spark - Oozie Spark 动作失败

我有一个简单的 spark 应用程序,它正在读取 csv 数据,然后写入 avro。这个应用程序在作为 spark-submit 命令行提交时工作正常,但在尝试从 oozie spark action 执行时失败并出现以下错误。错误信息:



Oozie详细信息:

工作流.xml

在作业跟踪器中,MAP Reduce 作业与调用 Spark Action 一样成功,但在那里失败了,但总体上 Oozie 失败了。

使用的版本

我还检查了 hdfs 中的 oozie 共享库:/user/oozie/share/lib/lib_20180517102659/spark,它包含 lz4-1.3.0.jar,其中包含错误中提到的 net.jpountz.lz4.LZ4BlockInputStream 类。

任何帮助都将不胜感激,因为我为此苦苦挣扎了很长时间。

非常感谢

0 投票
0 回答
230 浏览

oozie - 是否可以在不指定 inputDir 和 outputDir 的情况下运行 Oozie Spark Action

根据https://oozie.apache.org/docs/3.3.1/WorkflowFunctionalSpec.html#a4.1_Workflow_Job_Properties_or_Parameters我们知道..

我有一个 PySpark 脚本,它在脚本本身中指定了输入和输出位置。在我的工作流 XML 中,我不需要也不想要一个inputDirand 。outputDir通过 Oozie 运行我的 PySpark 脚本时,我收到此错误消息。

基于https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/util/ParameterVerifier.java,我的第一个警告是由于我没有一个“输入目录”

我可以解决这个问题吗?

更新——我的 XML 结构

0 投票
0 回答
165 浏览

oozie - 过滤 oozie 中的组

从 Oozie(4.2.0,来自 hdp2.6)我希望能够获得属于某个组的作业列表:

oozie jobs -filter group=export

但是这个过滤器永远不会匹配。我用一些变量设置了工作(在试验时):

  • 多变的oozie.job.acl
  • 多变的group.name
  • hadoop 属性oozie.job.acl

我可以oozie jobs在列中看到 ( ) 组名Group(我为 oozie.job.acl 提供的组名),但我似乎无法在过滤器中使用它。

有没有我错过的技巧,或者只是不可能?

0 投票
1 回答
360 浏览

hadoop - 并行运行 oozie 操作的任何其他选项

目前,我的 oozie 工作流程中有 6 个操作,如下所示。

MainJob1 完成所有第一个、第二个和第三个作业后应该并行运行。在 MainJob2 完成后,只有第二个和第三个作业应该并行运行。

有没有可能解决上述工作流执行方式?

0 投票
2 回答
343 浏览

java - 如何为 oozie 工作流中的不同操作指定不同的用户库路径

如何为 oozie 工作流中的不同操作指定不同的用户库路径

我有一个 spark 动作和一个 java 动作

如何为两个操作指定不同的库路径。我在这两个装配罐中有冲突的罐子。

0 投票
1 回答
507 浏览

hive - Oozie Launcher 失败,无法运行程序

我正在尝试使用非常基本的脚本运行 oozie 工作流程。脚本本身非常简单,它需要一个 csv 文件并将其加载到 impala 中的一个表中。我的工作流程是这样的。

但是,当我运行它时,我似乎总是收到此错误,我不确定它为什么无法运行该程序。目录/文件都指向正确的位置。

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], main() threw exception, Cannot run program "Test.sh" (in directory "/data13/yarn/nm/usercache/user/appcache/application"): error=2, No such file or directory java.io.IOException: Cannot run program "Test.sh" (in directory "/data13/yarn/nm/usercache/user/appcache/application"): error=2, No such file or directory

0 投票
1 回答
668 浏览

oozie - Oozie fork 多次调用相同的操作

我正在尝试使用 fork 并行运行相同 oozie 操作的多个实例。在尝试这样做时,我适时收到错误说明

"E0744" 一个分叉不允许有多个过渡到同一个节点

我还查看了 oozie 代码库(LiteWorkflowAppParser),发现 oozie 确实不允许在 fork 中多次运行调用相同的操作,因为它对此进行了验证。现在我禁用了验证oozie.wf.validate.ForkJoin=false并再次运行工作流程。这一次,工作流运行良好,但只有一个动作实例在运行。对我来说,虽然我禁用了验证,但下面的 oozie 只允许运行独特的操作,并且跳过了重复的操作。现在我的问题是,如何实现并行运行多个 oozie 动作?

我的工作流程是这样的:

附加细节: 通过上述配置,我看到工作流performAction在过渡到joinForks阶段完成后卡住了。看起来它joinForks正在等待剩余的操作向它报告,以便它可以结束。但问题是,剩余的操作从未启动,导致工作流无限期地等待。

在此之后,我只是复制performAction到三个不同的 actionperformAction1performAction2performAction3并在 forks 中使用它们。现在工作流程正在完成,因为joinForks所有分支都调用了它。但是,我真的希望我不必以不同的名称一次又一次地复制相同的操作。任何帮助表示赞赏。

谢谢

0 投票
0 回答
91 浏览

shell - 如何将 shell 脚本中的值传递给 oozie 工作流的 job.properties

当触发执行某些命令然后提交一个 oozie 工作流时,我有一个 shell 脚本。我的要求是将一个参数传递给 shell 脚本,它可以被调用的 oozie 工作流的 job.properties 文件使用。我怎样才能做到这一点?参考下面的示例代码,我希望将其替换为 oozie_job1 将使用的 job.properties。

sh test1.sh ... ... oozie_job1 ...

0 投票
1 回答
1126 浏览

hadoop - 将可选属性从主 oozie 工作流传递到子工作流

我有一个 HDFS_file_path 或需要从 workflow-1 传递到 common_subworkflow 的属性。

我也有没有该属性或 HDFS_file_path 的工作流 2。但是 workflow-2 调用 common_subworkflow。

在 common_subworkflow 中,我使用 ${HDFS_file_path} 获取属性值。

它在工作流 1 调用 common_subworkflow 时工作正常,但在工作流 2 调用 common_subworkflow 时失败,因为 HDFS_file_path 在工作流 2 中不存在。

有没有办法

  1. 读取动态属性(如果存在),或
    1. 如果变量不存在,则设置一些默认值(null 或空)
0 投票
3 回答
3027 浏览

hadoop - 无法在 oozie 中运行 shell(错误=2,没有这样的文件或目录)

我在 ambari-views ui 中为我的工作流程中的 oozie 和 sample.sh 文件创建工作流程,运行后出现错误。例如,当我将 shell 主体更改为简单命令时,echo 1没有出现此错误,请告诉我

我的工作流程的 xml