oozie 工作流提交 sh 以启动 spark2 作业时出现问题



让我解释一下这个问题,这让我发疯了......

我有一个 spark2 程序,我想从 oozie 工作流提交。

由于默认情况下 spark2 不能直接从 oozie 提交,所以我创建了一个带有 spark2-submit 句子的 sh 来执行 spark2 作业。

如果我从控制台运行这个sh,它可以完美地工作。但是,当我从oozie工作流运行它时,无法使其工作,但更糟糕的是我在执行返回的日志上看不到明显的错误。

这些是我正在使用的文件:

thintest.sh:

spark2-submit --master yarn --class main hdfs:///home/cloudera/thintest/thintest-assembly-0.1.jar

作业属性

oozie.use.system.libpath=True
dryrun=False
nameNode=hdfs://quickstart.cloudera:8020
jobTracker=quickstart.cloudera:8032
security_enabled=False
hiveXml=/etc/hive/conf/hive-site.xml
appName=thintest
appPath=${nameNode}/home/cloudera/thintest
oozie.wf.application.path=${appPath}/workflow.xml
shellPath=${appPath}/thintest.sh

工作流程.xml

<?xml version="1.0" encoding="UTF-8"?>
<workflow-app name="thintest" xmlns="uri:oozie:workflow:0.5">
<start to="shell"/>
<action name="shell">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>${shellPath}</exec>
<env-var>HADOOP_USER_NAME=${wf:user()}</env-var>
<file>${shellPath}#thintest.sh</file> 
</shell>
<ok to="end"/>
<error to="kill"/>
</action>
<kill name="kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>

任何帮助将不胜感激。

Oozie 有一个 spark-2 配置文件,Oozie 中的 Spark 动作在用它构建后工作得很好。

我不建议围绕外壳操作进行黑客攻击,因为它迟早会变成一场噩梦。

最新更新