• Spark1.0.0 监测方法


          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进行具体的性能分析。

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

  • 相关阅读:
    C#用递归求阶乘 n!
    视图与表的区别和联系(小结)
    ref 和 out 的异同
    什么是重载?(最文艺的理解)
    [windows c]关于winsock2.h的recv函数的记录
    [windows c]关于指针函数和参数可变函数同时应用情况的疑问
    [windows c]CreateProcess
    c++ boost asio库初学习
    c#中ObservableCollection<T>排序方法
    安装opensuse时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4908214.html
Copyright © 2020-2023  润新知