注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mmicky 的博客

追逐刹那的惊艳

 
 
 

日志

 
 

Spark1.0.0 的监控方式  

2014-06-15 13:42:08|  分类: spark |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      Spark1.0.0可以通过以下几种方式来对Spark应用程序进行监控:
  • Spark应用程序的WebUI或者Spark Standalone的集群监控
  • 指标,然后通过支持指标收集的集群监控系统,如ganglia进行监控
  • 辅助监控工具

1:WebUI
      Spark应用程序提交后,driver和Executor之间不断的交换运行信息,可以通过driver的4040端口(默认端口)获取有用的Spark应用程序的运行信息,如:
  • Stage和Task
  • RDD大小和内存使用情况
  • 环境变量信息
  • executor的运行信息
  • ...
      如果多个Spark应用程序在同一个client上以client方式提交,那么driver的WebUI端口将绑定从4040开始的连续端口,如4040、4041、4042...。
      需要注意的是,用过WebUI只能查看Spark应用程序在运行期间的信息,一旦Spark应用程序运行完,这些信息将无法查看,因为WebUI端口随Spark应用程序的完成而关闭。如果想要事后查看Spark应用程序的运行信息,那么需要配置history Server来持久化Spark应用程序运行信息。关于history Server参见Spark1.0.0 history server配置 。

2:指标
      Spark采用了基于Coda Hale Metrics Library 的可配置的指标体系,通过各种指标收集器,如JMX、CSV、GraphiteSink、Ganglia等可以进行汇总报告。该指标体系的配置文件位于conf/metrics.properties(通过复制conf/metrics.properties.template生成或自建),如果要采用自定义的配置文件,还需要在属性配置上配置一下spark.metrics.conf。
      Spark的指标体系针对Spark不同的组件分解成相应的实例,每个实例涵盖一套指标。Spark现在支持的实例有:
  • master
  • worker
  • applications
  • driver
  • executor
      Spark的指标体系支持多种收集器,每个实例可以采用多个收集器,也可以不采用。Spark支持的收集器定义在org.apache.spark.metrics.sink,现在支持的收集器有:
  • ConsoleSink
  • CSVSink.
  • JmxSink
  • MetricsServlet
  • GraphiteSink
  • GangliaSink 因为版权问题,部署包默认不含有该收集器;如果需要,要重新编译嵌入LGPL授权代码的源码。具体使用参见用ganglia监控Spark1.0.0一文

3:辅助监控工具
      可以通过一些辅助监控工具对Spark应用程序运行前后和运行过程中系统性能变化来监控Spark应用程序。这些辅助工具有:
  • 集群监控系统,如ganglia、negios、zabbix等,这些工具可以监控整个集群的磁盘、网络、内存利用率和性能瓶颈;
  • 操作系统性能分析工具,如dstat、iostat、iotop,这些工具可以对单台机器的性能进行细致地分析;
  • JVM性能分析工具,如 jstack、jmap、jstat 、jconsole,这些工具可以对JVM进行详细的性能分析。
  评论这张
 
阅读(421)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017