提交色调生成的oozie脚本时,Launcher ERROR

时间:2017-12-01 06:59:45

标签: python pyspark oozie hue

我在使用hue通过oozie运行pyspark脚本时遇到问题。我可以通过笔记本运行脚本中包含的相同代码,也可以使用spark-submit无错误地运行,这让我怀疑我的oozie工作流中的某些内容配置错误。为我的工作流xml生成的spark动作部分是:

<action name="spark-51d9">
        <spark xmlns="uri:oozie:spark-action:0.2">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <master>yarn</master>
        <mode>cluster</mode>
        <name>MySpark</name>
        <jar>myapp.py</jar>
        <file>/path/to/local/spark/hue-oozie-1511868018.89/lib/MyScript.py#MyScript.py</file>
    </spark>
    <ok to="hive2-07c2"/>
    <error to="Kill"/>
</action>

我在日志中找到的唯一消息是:

Launcher ERROR,原因:主要课程[org.apache.oozie.action.hadoop.SparkMain], exit code [1]

这是我到目前为止没有解决问题的尝试: 我已尝试在纱线客户端和群集模式下运行它。我也尝试使用路径到单独的目录,并尝试使用hue生成的oozie工作流目录的lib目录,其中我有我的脚本。我认为它可以找到脚本,因为如果我指定另一个目录,我会收到一条消息,说明找不到它。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这对我有用的方法是:

首先创建一个将运行python脚本的sh文件。

该文件应具有sumbit命令:

....spark-submit

然后是你需要的所有标志:

--master yarn-cluster......--conf executer-cores 3 .......conf spark.executor.extraClassPath=jar1.jar:jar2.jar --driver-class-path jar1.jar:jar2.jar:jar3.jar

最后:

..... my_pyspark_script.py

然后创建工作流并选择shell选项并将sh文件添加为“shell命令”在“files”中

从这里开始,确保一切正常连接是一项工作。 例如,我必须在我的sh文件中添加“export”,以便正确添加我的“spark / conf”。