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. Linux 防火墙设置,禁止某个ip访问

    service  iptables  status        查看防火墙状态 service  iptables  start           开启防火墙 service  iptables  ...

  2. 受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?

    基本问题 1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 ...

  3. Python 手册——参数传递以及交互模式

    我们先来看参数传递. 调用解释器时,脚本名和附加参数之传入一个名为sys.argv的字符串列表.没有脚本和参数时,它至少也有一个 元素:sys.argv[0]此时为空字符串.脚本名指定为‘ - ’(表 ...

  4. 基于page的简单页面推送技术

    我们可以先看下简单效果,打开2个页面可以看到推送效果 服务端我们只需要下面一个方法 using System; using System.Collections.Generic; using Syst ...

  5. Xcode7之后常见问题整理-b

    一.Xcode7,iOS9之后传出来的什么Xcode有鬼,被植入代码片段什么的,可以看看,了解一下http://drops.wooyun.org/news/8864 二.bitcode问题--未正确设 ...

  6. SpringMVC conflicts with existing, non-compatible bean definition of same name and class 的解决办法

    问题起因 最近,项目组的里的同事遇到一个问题,他自己负责的模块,SpringMVC的Controller与其他模块的Controller 类名重名了,导致整个工程都起不来了. 后台报的错误是这样的: ...

  7. android学习小例子——验证码倒计时按钮

    1.activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro ...

  8. Ubuntu下安装nvidia显卡驱动

    layout: post title: Ubuntu下安装nvidia显卡驱动 date: 2015-10-02 17:19:06 categories: 常用命令 tags: 显卡 驱动 最近一直在 ...

  9. Contest 20140708 testB dp 组合数

    testB 输入文件: testB.in  输出文件testB.out 时限3000ms 问题描述: 定义这样一个序列(a1,b1),(a2,b2),…,(ak,bk)如果这个序列是方序列的话必须满足 ...

  10. 初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。

    我自己就是一个oracle和sql的初学者,前段时间看了韩顺平老师的oracle视频教程,觉得很深入浅出,收获了很多.同时自己也做了不少笔记,现在想将纸质笔记以自己的话总结出来.俗话说得好:教学总是相 ...