美文网首页我爱编程
Spark metrics整理

Spark metrics整理

作者: lioversky | 来源:发表于2018-06-20 17:47 被阅读463次

概述

spark使用metrics的包路径为:org.apache.spark.metrics,核心类:MetricsSystem。可以把Spark Metrics的信息报告到各种各样的Sink,比如HTTP、JMX以及CSV文件。

Spark的Metrics系统目前支持以下的实例:
○ master:Spark standalone模式的master进程;
○ worker:Spark standalone模式的worker进程;
○ executor:Spark executor;
○ driver:Spark driver进程;
○ applications:master进程里的一个组件,为各种应用作汇报。

metrics结构主要分为sink和source,source指数据来源,Source内属性包含name和MetricRegistry,主要有:MasterSource、WorkerSource、ApplicationSource、StreamingSource、BlockManagerSource等。


sink是将指标发送到哪,目前有:ConsoleSink、GangliaSink、GraphiteSink、MetricsServlet、JmxSink、CsvSink

配置

在spark的conf目录下metrics.properties文件中配置,默认使用此文件,也可以通过-Dspark.metrics.conf=xxx指定。

sink配置参数说明

ConsoleSink 是记录Metrics信息到Console中
名称 默认值 描述
class org.apache.spark.metrics.sink.ConsoleSink Sink类
period 10 轮询间隔
unit seconds 轮询间隔的单位
CSVSink 定期的把Metrics信息导出到CSV文件中
名称 默认值 描述
class org.apache.spark.metrics.sink.CsvSink Sink类
period 10 轮询间隔
unit seconds 轮询间隔的单位
directory /tmp CSV文件存储的位置
JmxSink 可以通过JMX方式访问Mertics信息
名称 默认值 描述
class org.apache.spark.metrics.sink.JmxSink Sink类
MetricsServlet
名称 默认值 描述
class org.apache.spark.metrics.sink.MetricsServlet Sink类
path VARIES* Path prefix from the web server root
sample false Whether to show entire set of samples for histograms ('false' or 'true') |

这个在Spark中默认就开启了,我们可以在4040端口页面的URL后面加上/metrics/json查看

GraphiteSink
名称 默认值 描述
class org.apache.spark.metrics.sink.GraphiteSink Sink类
host NONE Graphite服务器主机名
port NONE Graphite服务器端口
period 10 轮询间隔
unit seconds 轮询间隔的单位
prefix EMPTY STRING Prefix to prepend to metric name
GangliaSink 由于Licene的限制,默认没有放到默认的build里面,如果需要使用,需要自己编译
名称 默认值 描述
class org.apache.spark.metrics.sink.GangliaSink Sink类
host NONE Ganglia 服务器的主机名或multicast group
port NONE Ganglia服务器的端口
period 10 轮询间隔
unit seconds 轮询间隔的单位
ttl 1 TTL of messages sent by Ganglia
mode multicast Ganglia网络模式('unicast' or 'multicast')

sink配置样例

语法 syntax: [instance].sink.[name].[options]=[value]

    *.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink
    *.sink.console.period=10
    *.sink.console.unit=seconds

以上为所有实例开启ConsoleSink,包括master、worker、dirver、executor

    master.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink
    master.sink.console.period=10
    master.sink.console.unit=seconds

以上只为master开启ConsoleSink

source配置样例

语法 syntax: [instance].source.[name].[options]=[value]

    master.source.jvm.class=org.apache.spark.metrics.source.JvmSource

以上为master开启JvmSource

代码流程

1.各实例master、worker、dirver、executor在启动时创建MetricsSystem实例,在start时调用registerSources()、registerSinks();
2.registerSources中在配置文件中找到对应实例的配置,获取Source的具体包名类名后,通过反射生成实例,再调用registerSource注册到registry中。各source中已定义好要记录的指标,可以继承Source采集自定义信息;
3.registerSinks中同样获取对应实例的配置,得到sink的包名类名反射生成实例,加到sinks列表中。
4.report方法中可调用所有sink的report方法(只在stop中调用)。

参考:
http://hao.jobbole.com/metrics/
https://www.jianshu.com/p/e4f70ddbc287
https://www.iteblog.com/archives/1341.html

相关文章

  • Spark metrics整理

    概述 spark使用metrics的包路径为:org.apache.spark.metrics,核心类:Metri...

  • 172、Spark运维管理进阶之作业监控Spark Metric

    Spark有一套可配置的metrics系统,是基于Coda Hale Metrics类库实现的。该metrics系...

  • Spark Metrics

    Spark Metric/restapi 服务运行时将服务信息展示出来方便用户查看时服务易用性的重要组成部分。特别...

  • Spark metrics实现KafkaSink

    背景 监控是Spark非常重要的一部分。Spark的运行情况是由ListenerBus以及MetricsSyste...

  • Spark REST API & metrics

    版本: 2.3.0 除了可以通过ui访问各项参数, spark也提供json格式的方法。这使得开发者可以方便的开发...

  • 【Spark】SparkStreaming 新增Metrics

    在SparkStreaming任务运行的过程中,由于数据流量或者网络的抖动,任务的batch很可能出现delay,...

  • Spark监控

    有几种方法来监视Spark应用程序:Web UI,metrics和外部工具。 Web界面 每个SparkConte...

  • spark monitor

    webui metrics 外部设施 都可以用来监控spark应用的运行 每一个sparkcontext可以启动一...

  • spark 监控--WebUi、Metrics System

    Ui相关流程Spark集群启动之后,我们可以通过Web观查集群状态等信息,这一部分工作是Spark WebUi 模...

  • Spark面试题整理

    整理来源:《Spark面试2000题》 目录Spark section-0 基础 (3)Spark section...

网友评论

    本文标题:Spark metrics整理

    本文链接:https://www.haomeiwen.com/subject/wpvxyftx.html