让我解释一下,这让我发疯了.
我有一个spark2程序,我想从一个oozie工作流提交。
因为默认情况下,spark2不能直接从oozie提交,所以我创建了一个sh,其中包含sh 2-submit语句来执行spark2作业。
如果我从控制台运行这个sh,它的工作原理是完美的。但是,当我从oozie工作流运行它时,没有办法让它工作,但更糟糕的是,我看不到执行返回的日志上有一个明显的错误。
以下是我正在使用的文件:
thintest.sh:
spark2-submit --master yarn --class main hdfs:///home/cloudera/thintest/thintest-assembly-0.1.jarjob.properties
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.shworkflow.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>任何帮助都将不胜感激。
发布于 2018-06-15 12:14:18
Oozie有一个火花-2配置文件和火花行动在Oozie工作后,Oozie是建立与它。
我不建议对shell操作进行黑客攻击,因为它迟早会变成一场噩梦。
https://stackoverflow.com/questions/50855081
复制相似问题