我正在测量一个不同资源配置的火花作业的运行时间,并需要比较每个阶段的运行时间。只有在作业运行时,我才能在UI中看到它们。我在Hadoop集群上运行我的工作,并使用Yarn作为资源管理器。
有什么办法保持每一阶段的运行时间吗?有他们的原木吗?
更新:
我阅读了注释中提到的监视文档,并添加了以下行,但它不起作用:
在spark-defaults.conf中:
spark.eventLog.enabled true
spark.eventLog.dir hdfs:///[nameNode]:8020/[PathToSparkEventLogDir]
spark.history.fs.logDirectory
hdfs:///[nameNode]:8020/[PathTosparkLogDirectory]在spark-env.sh中
export SPARK_PUBLIC_DNS=[nameNode]
SPARK_HISTORY_OPTS="-Dspark.eventLog.enabled=true"
SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=$sparkHistoryDir"
SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider"
SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.cleaner.enabled=true"
SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.cleaner.interval=7d"它查找/tmp/spark/文件夹,当我创建它并启动历史服务器时,它不会显示任何完整或不完整的应用程序。
Note --我也尝试过没有端口号的logDirectory值,但没有工作。
发布于 2019-07-29 13:18:13
我可以运行星火历史服务器,并通过应用以下命令查看已完成和未完成应用程序的历史记录:
export SPARK_PUBLIC_DNS= NameNode-IPSparkConf conf = new SparkConf()
.set("spark.eventLog.enabled", "true")
.set("spark.eventLog.dir", "hdfs:///user/[user-path]/sparkEventLog")
.set("spark.history.fs.logDirectory", "hdfs:///user/[user-path]/sparkEventLog")spark.eventLog.enabled true
spark.eventLog.dir hdfs:///user/[user-path]/sparkEventLog
spark.history.fs.logDirectory hdfs:///user/[user-path]/sparkEventLog./sbin/start-history-server.sh --properties-file ./conf/history.properties注意:属性eventLog.dir和eventLog.dir应该具有保存值。
https://stackoverflow.com/questions/57201252
复制相似问题