我已成功运行 Hue Oozie 工作流编辑器(在 Cloudera 5.5.1 QuickStart VM 中)中提供的示例 Spark 工作流(“通过启动 Spark Java 程序复制文件”)。
我现在尝试使用 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 Web 仪表板中,但几秒钟后被终止,日志报告:
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 工作流程,您可以选择“配置”选项卡来查看 Hue 提供的属性)
关于apache-spark - 示例 Oozie 作业可以从 Hue 运行,但不能从命令行运行 : SparkMain not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410831/