3

我在具有 3 个节点的独立集群上使用 spark 1.1.0。

我想查看已完成应用程序的详细日志,因此我在程序中设置了:

set("spark.eventLog.enabled","true")
set("spark.eventLog.dir","file:/tmp/spark-events")

但是当我在 webui 中单击应用程序时,我得到一个带有消息的页面:

未找到应用程序历史记录 (app-20150126000651-0331) 在文件:/tmp/spark-events/xxx-1422227211500 中找不到应用程序 xxx$ 的事件日志。您是否指定了正确的日志记录目录?

尽管该目录存在并包含 3 个文件:

APPLICATION_COMPLETE*、EVENT_LOG_1* 和 SPARK_VERSION_1.1.0*

有什么解决问题的建议吗?

谢谢。

4

2 回答 2

1
  1. 为什么是您的应用程序名称xxx$,然后xxx在您的错误消息中?这真的是 Spark 报告的吗?
  2. 权限问题:检查您登录的目录是否可以由您运行 Spark 的用户读取和执行(并且内部文件也可以读取)。
  3. 检查您是否正确指定 master ,即--master spark://<localhostname>:7077
  4. 挖掘EVENT_LOG_1*文件。文件的最后一个事件(在最后一行)应该是“应用程序完成”事件。如果没有,很可能是您的应用程序没有调用sc.stop(),尽管日志仍应显示。
于 2015-01-27T12:10:12.253 回答
0

我有同样的错误“你指定了正确的日志目录吗?” 对我来说,解决方法是在“spark.eventLog.dir”的路径末尾添加一个“/”,即/root/ephemeral-hdfs/spark-events/

>> cat spark/conf/spark-defaults.conf
    spark.eventLog.dir /root/ephemeral-hdfs/spark-events/
    spark.executor.memory   5929m
于 2015-09-02T17:54:05.497 回答