Spark Metric 指标/监测系统详解及源码分析

本文深入解析Spark的Metric系统,介绍了如何配置metrics.properties文件,包括实例、源和接收器的概念,以及如何添加和配置sink。重点关注Spark内部组件如MasterSource、WorkerSource的监控,以及JvmSource收集的低级别状态数据。文章还提到了配置注意事项,如指定class类名选项、设置sink轮询周期等,并提供了一个CSVSink的配置案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Metric

翻译自spark的官方文档:
Spark 有一个基于 Dropwizard 度量库的可配置度量系统。 这允许用户向各种接收器报告 Spark 指标,包括 HTTP、 JMX 和 CSV 文件。 
度量系统是通过一个配置文件配置的,Spark 希望该文件出现在 $Spark home / conf / 度量中。 属性。 可以通过 spark.metrics.conf 配置属性指定自定义文件位置。 默认情况下,用于驱动程序或执行器指标的根命名空间是 spark.app.id 的值。
 然而,通常情况下,用户希望能够跨应用程序跟踪驱动程序和执行程序的指标,这对于应用程序 ID (即 spark.app.ID)来说很难做到,因为它会随着应用程序的每次调用而变化。 对于这种用例,可以为使用 spark.metrics.namespace 配置属性的度量报告指定自定义名称空间。 
 例如,如果用户希望将度量名称空间设置为应用程序的名称,他们可以将 spark.metics.namespace 属性设置为类似 ${ spark.app.name }的值。 然后,该值由 Spark 适当扩展,并用作度量系统的根名称空间。 非驱动程序和执行器指标从来不会以 spark.app.id 作为前缀,spark.metris.namespace 属性也不会对这些指标产生任何影响。

通俗的来说,spark默认会读目录下配置: $SPARK_HOME/conf/metrics.properties. 不过也可以通过spark.metrics.conf参数指定。
这个配置文件是主要针对Spark内部组件监测的一个配置项。它可以配置一个或多个sinks。下面是metrics的一些基本属性概念:
“instance”指定“who”(角色)使用的指标体系。配置的实例可以是&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值