【问题标题】:How to access spark history server如何访问火花历史服务器
【发布时间】:2020-11-25 22:11:19
【问题描述】:

我在小型数据集上运行我的 spark 应用程序只是为了进行功能测试。但我也想看看创建了多少执行程序以及数据是如何分区的。为此,我尝试访问 spark UI 应用程序,但访问 spark UI 应用程序的问题是,一旦应用程序完成,连接就会丢失。

如何访问 spark 历史服务器以监控过去的 spark 应用程序。我正在使用 intellij IDE 运行 spark 应用程序,但找不到访问此类服务器的选项。

【问题讨论】:

    标签: apache-spark apache-spark-sql sparks-pakage-management


    【解决方案1】:

    来自 Apache Spark 文档, 端点挂载在/api/v1. 例如,对于历史服务器,它们通常可以在http://<server-url>:18080/api/v1 访问,而对于正在运行的应用程序,它们可以在http://localhost:4040/api/v1 访问。

    开始: ./sbin/start-history-server.sh

    默认情况下,这会在 http://<server-url>:18080 创建一个 Web 界面,列出未完成和已完成的应用程序和尝试。

    spark 作业本身必须配置为记录事件,并将它们记录到同一个共享的可写目录。例如,如果服务器配置了hdfs://namenode/shared/spark-logs 的日志目录,那么客户端选项将是:

    请参阅来自https://spark.apache.org/docs/latest/monitoring.html 的监控和检测以了解更多 Spark 版本特定选项的详细信息。

    【讨论】:

      【解决方案2】:

      在程序结束时添加一个睡眠调用以延迟其完成如何?

      【讨论】:

      • 这似乎是一种解决方法。我们没有直接访问历史服务器的方法吗?
      • 据我了解,历史服务器只有在实际运行时才能访问。由于它在应用程序结束时停止,因此不再存在,并且随着下一个服务器将重新启动,内容也会丢失。这是特定于本地运行的 Spark。如果您使用集群,则历史服务器始终在运行。顺便说一句,欢迎使用 StackOverflow!
      猜你喜欢
      • 2016-03-20
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      相关资源
      最近更新 更多