Spark Metrics配置详解
来源:互联网 发布:qq三国张飞打技能数据 编辑:程序博客网 时间:2024/05/27 06:13
和Hadoop类似,在Spark中也存在很多的Metrics配置相关的参数,它是基于Coda Hale Metrics Library的可配置Metrics系统,我们可以通过配置文件进行配置,通过Spark的Metrics系统,我们可以把Spark Metrics的信息报告到各种各样的Sink,比如HTTP、JMX以及CSV文件。
Spark的Metrics系统目前支持以下的实例:
(1)、master:Spark standalone模式的master进程;
(2)、worker:Spark standalone模式的worker进程;
(3)、executor:Spark executor;
(4)、driver:Spark driver进程;
(5)、applications:master进程里的一个组件,为各种应用作汇报。
在Spark的Metrics系统主要支持Sink和Source两种,其中,Sink指定metrics信息发送到哪里,每个instance可以设置一个或多个Sink(这点和Flume很类似)。Sink的源码位于org.apache.spark.metrics.sink包中;而Source也是指信息的来源,它主要分为两大类:
(1)、Spark内部source,比如MasterSource、WorkerSource等,它们会接收Spark组件的内部状态;
在Spark安装包的$SPARK_HOME/conf路径下有个metrics.properties文件(如果不存在,请将metrics.properties.template重命名为metrics.properties即可),Spark启动的时候会自动加载它。
当然,如果想修改配置文件位置,我们可以使用-Dspark.metrics.conf=xxx进行修改。
实例
下面我将简单地介绍如何使用Spark Metrics。我只想简单地开启ConsoleSink,我们可以如下配置:
我们为master、worker、driver和executor开启jvm source,如下:
Spark的Metrics系统目前支持以下的实例:
(1)、master:Spark standalone模式的master进程;
(2)、worker:Spark standalone模式的worker进程;
(3)、executor:Spark executor;
(4)、driver:Spark driver进程;
(5)、applications:master进程里的一个组件,为各种应用作汇报。
在Spark的Metrics系统主要支持Sink和Source两种,其中,Sink指定metrics信息发送到哪里,每个instance可以设置一个或多个Sink(这点和Flume很类似)。Sink的源码位于org.apache.spark.metrics.sink包中;而Source也是指信息的来源,它主要分为两大类:
(1)、Spark内部source,比如MasterSource、WorkerSource等,它们会接收Spark组件的内部状态;
(2)、通用source,如:JvmSource,它收集低级别的状态。
支持的Sink类别
如何使用
在Spark安装包的$SPARK_HOME/conf路径下有个metrics.properties文件(如果不存在,请将metrics.properties.template重命名为metrics.properties即可),Spark启动的时候会自动加载它。
当然,如果想修改配置文件位置,我们可以使用-Dspark.metrics.conf=xxx进行修改。
实例
下面我将简单地介绍如何使用Spark Metrics。我只想简单地开启ConsoleSink,我们可以如下配置:
*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink*.sink.console.period=10*.sink.console.unit=secondsperiod是ConsoleSink的轮询周期,unit是ConsoleSink的轮询周期时间单位。上面是配置所有的实例,如果想单独配置可以如下:
master.sink.console.class=org.apache.spark.metrics.sink.ConsoleSinkmaster.sink.console.period=15master.sink.console.unit=seconds这个配置可以覆盖通用配置符(也就是上面的*号)
我们为master、worker、driver和executor开启jvm source,如下:
master.source.jvm.class=org.apache.spark.metrics.source.JvmSourceworker.source.jvm.class=org.apache.spark.metrics.source.JvmSourcedriver.source.jvm.class=org.apache.spark.metrics.source.JvmSourceexecutor.source.jvm.class=org.apache.spark.metrics.source.JvmSource当然,我们还可以自定义Source,这个需要继承自org.apache.spark.metrics.source.Source类。关于如何自定义Source,我这里不介绍了,需要的同学可以去参照Spark源码,比如JvmSource类的实现。
0 0
- Spark Metrics配置详解
- Spark Metrics配置详解
- Spark Metrics配置详解
- spark Metrics System hack
- spark 监控--WebUi、Metrics System
- Ambari-Metrics配置指南
- Spark配置参数详解
- spark配置详解
- spark spark_deploy_mode配置详解
- Spark配置属性详解
- Spark配置参数详解
- spark deploy_mode配置详解
- Spark源码走读9——Metrics
- spark core 2.0 ExecutorSource Metrics统计
- spark 2.1 metrics Source and BlockManagerSource
- flume spark streaming配置详解
- Spark配置属性详解(1)
- Spark配置属性详解(1)
- nyoj 655 光棍的yy 【大数斐波那契】
- Leetcode 76. Minimum Window Substring 最小子串窗口 解题报告
- 常见反爬错略
- Android权限系统
- How to Upgrade Node.js via NPM
- Spark Metrics配置详解
- mac下mysql5.7修改字符编码为utf-8(或许通用)
- 浅谈一个概率性问题
- DDMS的功能
- Linux文件编辑命令详细整理
- Linux常用命令
- NYOJ 心急的C小加
- 51nod 1086 背包问题 V2 多重背包
- USB键盘数据格式以及按键键值