【发布时间】: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' />
版本信息:
- Spark 1.6.0
- 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