本文主要是介绍Monitoring(监控),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Monitoring and Instrumentation
有几种方法可以监控Spark应用程序:Web UI,指标和外部检测。
Web Interfaces
默认情况下,每个SparkContext都会在端口4040上启动Web UI,以显示有关应用程序的有用信息。 这包括:
- 调度程序阶段和任务的列表
- RDD大小和内存使用情况的摘要
- 环境信息
- 有关运行执行程序的信息
请注意,此信息仅在应用程序的默认时间内可用。 要在事后查看Web UI,请在启动应用程序之前将spark.eventLog.enabled设置为true。 这会将Spark配置为记录Spark事件,该事件将UI中显示的信息编码为持久存储。
Viewing After the Fact(事后观察)
如果应用程序的事件日志存在,仍然可以通过Spark的历史服务器构建应用程序的UI。 您可以通过执行以下命令启动历史记录服
./sbin/start-history-server.sh
这默认情况下在http:// :18080创建一个Web界面,列出未完成和已完成的应用程序和尝试。
使用文件系统提供程序类时(请参阅下面的spark.history.provider),必须在spark.history.fs.logDirectory配置选项中提供基本日志记录目录,并且应包含每个代表应用程序事件日志的子目录。
必须将spark作业本身配置为记录事件,并将它们记录到同一个共享的可写目录中。 例如,如果服务器配置了hdfs:// namenode / shared / spark-logs的日志目录,那么客户端选项将是:
spark.eventLog.enabled true
spark.eventLog.dir hdfs://namenode/shared/spark-logs
历史服务器可以配置如下:
Environment Variables
Environment Variable | Meaning |
---|---|
SPARK_DAEMON_MEMORY | 要分配给历史服务器的内存(默认值:1g)。 |
SPARK_DAEMON_JAVA_OPTS | 历史服务器的JVM选项(默认值:none)。 |
SPARK_DAEMON_CLASSPATH | 历史服务器的类路径(默认值:none)。 |
SPARK_PUBLIC_DNS | 历史服务器的公共地址。 如果未设置此选项,则指向应用程序历史记录的链接可能会使用服务器的内部地址,从而导致链接断开(默认值:none)。 |
SPARK_HISTORY_OPTS | spark.history。*历史服务器的配置选项(默认值:none)。 |
Spark configuration options
Property Name | Default | Meaning |
---|---|---|
spark.history.provider | org.apache.spark.deploy.history.FsHistoryProvider | 实现应用程序历史后端的类的名称。 目前,Spark只提供了一个实现,用于查找存储在文件系统中的应用程序日志。 |
spark.history.fs.logDirectory | file:/tmp/spark-events | 对于文件系统历史记录提供程序,包含要加载的应用程序事件日志的目录的URL。 这可以是本地file://路径,HDFS路径hdfs:// namenode / shared / spark-logs或Hadoop API支持的备用文件系统。 |
这篇关于Monitoring(监控)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!