【发布时间】:2016-12-04 12:27:04
【问题描述】:
我正在尝试按照此说明使用 Spark Oozie 操作启用历史日志。 https://archive.cloudera.com/cdh5/cdh/5/oozie/DG_SparkActionExtension.html
为确保您的 Spark 作业显示在 Spark History Server 中,请确保在 spark-opts 中使用 --conf 或从 oozie.service.SparkConfigurationService.spark.configurations 中指定这三个 Spark 配置属性
- spark.yarn.historyServer.address=http://SPH-HOST:18088
- spark.eventLog.dir=hdfs://NN:8020/user/spark/applicationHistory
- spark.eventLog.enabled=true
工作流程定义如下:
<action name="spark-9e7c">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>yarn-cluster</master>
<mode>cluster</mode>
<name>Correlation Engine</name>
<class>Main Class</class>
<jar>hdfs://<MACHINE IP>:8020/USER JAR</jar>
<spark-opts> --conf spark.eventLog.dir=<MACHINE IP>:8020/user/spark/applicationHistory --conf spark.eventLog.enabled=true --conf spark.yarn.historyServer.address=<MACHINE IP>:18088/</spark-opts>
</spark>
<ok to="email-f5d5"/>
<error to="email-a687"/>
</action>
当我从 shell 脚本测试时,历史日志被正确记录,但使用 Oozie 操作日志没有被正确记录。我已经设置了所有三个属性。
【问题讨论】:
-
嗨,请检查我的答案,而不是 spark-opts 尝试传递我的答案中提到的参数
-
如果你对答案没问题,请标记“accepted-by-owner” Thx
-
非常感谢您的及时回复 RamPrasad。我按照您在配置部分的建议移动了属性。现在我可以在 /user/spark/applictionHistory 位置中以 .inprogress 的形式登录。但在历史服务器中仍然看不到任何日志。
-
它应该可以工作。请再次检查。请检查任何进一步的错误
-
对我来说,向 spark-opts 和配置添加属性都有效。非常感谢 RamPrasad 的帮助。
标签: apache-spark spark-streaming hadoop-yarn cloudera oozie