Spark1.0.0能够通过下面几种方式来对Spark应用程序进行监控:
  • Spark应用程序的WebUI或者Spark Standalone的集群监控
  • 指标,然后通过支持指标收集的集群监控系统。如ganglia进行监控
  • 辅助监控工具

1:WebUI
      Spark应用程序提交后,driver和Executor之间不断的交换执行信息。能够通过driver的4040port(默认port)获取实用的Spark应用程序的执行信息,如:
  • Stage和Task
  • RDD大小和内存使用情况
  • 环境变量信息
  • executor的执行信息
  • ...
      假设多个Spark应用程序在同一个client上以client方式提交,那么driver的WebUIport将绑定从4040開始的连续port,如4040、4041、4042...。
      须要注意的是,用过WebUI仅仅能查看Spark应用程序在执行期间的信息,一旦Spark应用程序执行完,这些信息将无法查看。由于WebUIport随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进行具体的性能分析。

版权声明:本文博主原创文章,博客,未经同意不得转载。

Spark1.0.0 监测方法的更多相关文章

  1. Spark1.0.0新特性

            Spark1.0.0 release于2014-05-30日正式公布,标志Spark正式进入1.X的时代.Spark1.0.0带来了各种新的特性,并提供了更好的API支持:Spark1 ...

  2. Spark1.0.0 属性配置

    1:Spark1.0.0属性配置方式       Spark属性提供了大部分应用程序的控制项,而且能够单独为每一个应用程序进行配置.       在Spark1.0.0提供了3种方式的属性配置: Sp ...

  3. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  4. Spark-1.6.0之Application运行信息记录器JobProgressListener

    JobProgressListener类是Spark的ListenerBus中一个很重要的监听器,可以用于记录Spark任务的Job和Stage等信息,比如在Spark UI页面上Job和Stage运 ...

  5. Spark-1.6.0中的Sort Based Shuffle源码解读

    从Spark-1.2.0开始,Spark的Shuffle由Hash Based Shuffle升级成了Sort Based Shuffle.即Spark.shuffle.manager从Hash换成了 ...

  6. Spark1.0.0属性配置

    1:Spark1.0.0属性配置方式 Spark属性提供了大部分应用程序的控制项,并且可以单独为每个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: SparkConf方式 Spa ...

  7. Yarn上运行spark-1.6.0

    目录 目录 1 1. 约定 1 2. 安装Scala 1 2.1. 下载 2 2.2. 安装 2 2.3. 设置环境变量 2 3. 安装Spark 2 3.1. 下载 2 3.2. 安装 2 3.3. ...

  8. spark1.0.0 mllib机器学习库使用初探

    本文机器学习库使用的部分代码来源于spark1.0.0官方文档. mllib是spark对机器学习算法和应用的实现库,包括分类.回归.聚类.协同过滤.降维等,本文的主要内容为如何使用scala语言创建 ...

  9. Ubuntu 12.04下spark1.0.0 集群搭建(原创)

    spark1.0.0新版本的于2014-05-30正式发布啦,新的spark版本带来了很多新的特性,提供了更好的API支持,spark1.0.0增加了Spark SQL组件,增强了标准库(ML.str ...

随机推荐

  1. 获取Ip 的地域等信息接口-实例

    今天项目要用到 查询访问网站用户的IP 然后网上查询了 资料还很多 不过有些已经失效了 在这总结下 腾讯,pconline 的API已经失效 不能使用 淘宝的IP接口地址: http://ip.tao ...

  2. PHP的类自动加载机制

    在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来. 这个在小规模开发的时候,没什么大问题.但在大型的开发项目中, ...

  3. golang-mongodb范例

    package main import ( "log" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) ...

  4. Java IO学习总结

    Java IO流学习总结 Io流的内容比较多 ,大致可以分为字节流和字符流,其中为了提高效率又用到了缓冲区. Java流操作有关的类或接口: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合, ...

  5. c# 测试

    string input = "//a/@href "; int index = input.IndexOf("/@"); String attr = inpu ...

  6. UVA 1329 - Corporative Network

    带权值的并查集的应用: 代码: #include<cstdio> #include<algorithm> #include<cmath> #include<c ...

  7. SQL in查询报告类型转换失败的3种解决办法

    -- in查询 nvarchar转int 错误 (NodeId 为 int 类型) ) = '3,5,6,' )' SELECT ID , NodeName FROM WF_WorkFlowNode ...

  8. Chrome测试网站加载时间与流量消耗

    加载10M内容,耗时近10秒钟 大概页面图片下载时,同时进行了,有的大图,下载要几秒钟

  9. [LeetCode#116]Fraction to Recurring Decimal

    Problem: Given two integers representing the numerator and denominator of a fraction, return the fra ...

  10. 【转】在Ubuntu下编译Android源码并运行Emulator

    原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK   $ sudo apt-ge ...