【问题标题】:Unable to run example spark job with oozie无法使用 oozie 运行示例 Spark 作业
【发布时间】:2016-05-04 19:54:26
【问题描述】:

我正在尝试在 CDH 5.7 集群上设置 oozie。我已经按照 cloudera 文档中的步骤安装和配置了所有内容。最后,我提取了 oozie-examples.tar.gz,将其放入 hdfs 并尝试运行一些示例。 MR 示例运行良好,但 spark 失败并出现以下错误:

资源 hdfs://cluster/user/hdfs/.sparkStaging/application_1462195303197_0009/oozie-examples.jar 在 src 文件系统上更改(预期为 1462196523983,为 1462196524951

我用来运行示例的命令是:

oozie job -config /usr/share/doc/oozie/examples/apps/spark/job.properties -run

job.properties 的内容:

nameNode=hdfs://cluster:8020
jobTracker=aleo-master-0:8021
master=yarn-cluster
queueName=default
examplesRoot=examples
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/spark

和workflow.xml:

<workflow-app xmlns='uri:oozie:workflow:0.5' name='SparkFileCopy'>
<start to='spark-node' />

<action name='spark-node'>
    <spark xmlns="uri:oozie:spark-action:0.1">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <prepare>
            <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/spark"/>
        </prepare>
        <master>${master}</master>
        <name>Spark-FileCopy</name>
        <class>org.apache.oozie.example.SparkFileCopy</class>
        <jar>${nameNode}/user/${wf:user()}/${examplesRoot}/apps/spark/lib/oozie-examples.jar</jar>
        <arg>${nameNode}/user/${wf:user()}/${examplesRoot}/input-data/text/data.txt</arg>
        <arg>${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/spark</arg>
    </spark>
    <ok to="end" />
    <error to="fail" />
</action>

<kill name="fail">
    <message>Workflow failed, error
        message[${wf:errorMessage(wf:lastErrorNode())}]
    </message>
</kill>
<end name='end' />

版本信息:

  1. Spark 1.6.0
  2. Oozie 4.1.0-cdh5.7.0

以前有人见过这个问题吗?我也尝试使用自己的工作流定义来运行 SparkPi,但结果是一样的。

感谢您的帮助!

【问题讨论】:

  • 看起来你的版本不匹配,在 oozie lib 下检查哪个版本的 spark jar 可用。
  • hdfs 上的 /usr/lib/oozie/lib 和 sharelib 都包含来自 cloudera 的具有正确 (1.6.0) 版本的 spark jar,例如。 spark-core_2.10-1.6.0-cdh5.7.0.jar。我拥有的唯一非标准组件是 Hive 2.0。
  • 我没有使用过 CDH 但一般用途的 oozie-4.1.0 不支持火花动作。他们从 oozie-4.2.0 开始为 spark 动作提供支持。

标签: hadoop apache-spark oozie cloudera-cdh


【解决方案1】:

您是否尝试清理 sparks 暂存路径? Spark 正在将给定 jar 的临时副本复制到其暂存 hdfs 路径中,并且可能无法区分其中具有相同名称的两个不同 jar。

【讨论】:

  • /user/hdfs/.sparkStaging 目录在作业失败后被清除。在执行期间,我设法瞥见了它的内容,它只包含来自 hadoop 类路径的 jar,包括 spark-assembly.jar。
猜你喜欢
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多