示例 Oozie 作业在 Hue 中工作,但在命令行中不工作:SparkMain not found

Example Oozie job works from Hue, but not from command line: SparkMain not found

我已成功 运行 Hue Oozie 工作流编辑器(在 Cloudera 5.5.1 QuickStart VM 中)中提供的示例 Spark 工作流 ("Copy a file by launching a Spark Java program")。

我现在正在尝试使用 oozie 命令行工具手动 运行 它:

oozie job -oozie http://localhost:11000/oozie -config job.properties -run

工作流程XML基本没变——我已经复制到HDFS了,有以下job.properties

nameNode=hdfs://localhost:8020
jobTracker=localhost:8032
oozie.wf.application.path=/user/cloudera/workflows/spark-scala/spark-scala.xml
input=/user/hue/oozie/workspaces/data/sonnets.txt
output=here

作业被接受并出现在 Hue 网络仪表板中,但几秒钟后被终止,日志报告:

Launcher exception: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SparkMain not found

这里有什么问题?

Oozie 默认不包含 Spark 操作的库 - 您需要将以下内容添加到 job.properties:

oozie.use.system.libpath=true

(在Hue Dashboard中点击之前成功的Hue工作流,可以selectConfiguration选项卡查看Hue提供的属性)