本文作为学习总结,文中引用到其他作者很多知识,对原作者表示感谢。

Table of Contents

Spark 基本概念

Spark 监控的三个阶段

Spark Driver 阶段

Spark Executor阶段

Spark Streaming阶段


Spark 基本概念

Job

job是application的组成单位。 A job is triggered by an action, like count() or saveAsTextFile(). Click on a job to see information about the stages of tasks inside it. 一个 job,就是由一个 rdd 的 action 触发的动作,可以简单的理解为,当你需要执行一个 rdd 的 action 的时候,会生成一个 job.

Stage

stage 是 job 的组成单位,就是说,一个 job 会被切分成 1 个或 1 个以上的 stage,然后各个 stage 会按照执行顺序依次执行。job 根据Spark的shuffle过程来切分 stage,如某stage有2个shuffle过程,它就被切分成3个stage.

Task

A unit of work within a stage, corresponding to one RDD partition。即 stage 下的一个任务执行单元。“一般来说,一个 rdd 有多少个 partition,就会有多少个 task,因为每一个 task 只是处理一个 partition 上的数据。”

Spark 监控的三个阶段

Spark Streaming 从提交job到cluster,到正式运行,需要分三个阶段进行监控和调试。他们分别是Driver阶段,Executor阶段,Streaming阶段。

Spark Driver 阶段

主要是submit job到集群上,这个时候主要是检查driver上的日志,发现dependency 和程序启动bug的阶段。用到的主要是日志(spark.log, std.out, std.err) 和 UI 里 Environment 页。

Environment:环境信息、各种各样的参数信息, 最常用的就是看已经上传的jar包。可以在这里看到实际spark.ui.port是多少。

Spark Executor阶段

该阶段程序提交到driver上已经通过,常用的编译依赖已经解决。这个阶段主要发现的是运行时依赖问题,Executor上第一次执行时出现的错误和内存使用情况。

Jobs: job列表,显示每个作业的时间信息以及共有多少stage以及task,可以链接到具体的stages页面,这个页面需要重点关注每个job的时间,以及是否有作业有大量的失败的任务。

Stages :Stage列表,显示stage的输入、输出以及Shuffle读写的数据量,并且可以链接到每一个task的执行情况,包括执行次数,task状态,locality级别、GC时间,输入、输出数据量等等,这里面需要重点关注task的执行时间,gc时间,以及各task花费时间相差是否不大。点击这里的链接,直接进入所属的task列表页面。

locality_level按优先级高低排:PROCESS_LOCAL,NODE_LOCAL,NO_PREF,RACK_LOCAL,ANY。也就是最好在同个进程里,次好是同个node(即机器)上,再次是同机架,或任意都行

Executors :executor列表,在这里查看到各个executor输出的日志,如下图就是一个实际程序的截图,可以通过stdout/stderr查看日志。可以查看executor 内存使用情况,内存分配是否合理。Thread Dump 如果需要。

exector上的输出日志,仅能看System.out, System.err。我们通过log日志系统输出的日志在spark.log里。需要在点开的地址栏里把stdout  ==> spark.log.

http://northeast.internal:8042/node/containerlogs/container_e23_1563172355610_138956_01_000002/yarn/stdout?start=-4096

http://northeast.internal:8042/node/containerlogs/container_e23_1563172355610_138927_01_000002/yarn/spark.log/?start=0

Spark Streaming阶段

Streaming job已经正式运行起来了,跑了几个batch以后,需要监控的是 batch data size, kafka partition offset, process time, schedule delay等问题。

streaming: 显示每个批次有多少数据,总共处理了多少批次,每个批次处理花费的时间,是否有批次延迟等信息,如下图是一个正运行的streaming程序的监控页面。

batch data: 查看每个batch处理的数据量大小,判断接入kafka是否正常。查看kafka partition 数据发现是否存在kafka数据分布不均情况。

process time: 查看用时较长的batch处理时间,分析程序性能。batch size 是否合理等。

重点需要关注的是active batches,如果active batches下面的批次大于1则证明有延迟批次
streaming statistics:中显示的事件的数据接收、调度延迟、处理时间,合计延迟的统计信息。
completed batches :已完成批次(只显示是最近)的信息,可以通过链接进行具体的Job中。如果发现某批次处理时间有异常,可以通过链接看到具体的Job信息,进而查看到stage,最终追踪到具体的task中,比如下图就是“Stage”标签中。

参考文献:

http://spark.apache.org/docs/latest/web-ui.html

https://www.jianshu.com/p/3946cb96f382

https://blog.csdn.net/sinat_34763749/article/details/80944922

Spark Streaming 监控UI详解相关推荐

  1. Spark Streaming 源码详解

    原地址 本系列内容适用范围:* 2015.12.05 update, Spark 1.6 全系列 √ (1.6.0-preview,尚未正式发布) * 2015.11.09 update, Spark ...

  2. Zabbix5.0监控系统安装详解

    Zabbix5.0监控系统安装详解 一.Zabbix介绍 二.Zbbix的LAMP环境安装 1.防火墙和SElinux配置 2.安装LAMP环境 三.安装Zabbix软件 四.Zabbix的Mysql ...

  3. zabbix 监控过程详解

    监控过程详解 1.修改密码及中文版 按如上操作即可,选择中文以后,点击下面的update即可更新成功 为了安全起见修改密码 修改完成后同样点击更新即可. 2.创建主机及主机群组 1.定义一个主机群组 ...

  4. Android UI详解之布局管理器(一)

    Android UI详解之布局管理器 一.布局管理器 ①顶级父类View ②子类GroupView ③AbsoluteLayout.FrameLayout.LinearLayout.GridLayou ...

  5. 通达信板块监控指标_板块全能显显示板块板块监控指标详解 通达信全能监控...

    板块全能显显示板块板块监控指标详解 通达信全能监控详细说明 第一股票公式网(www.chnmoney.com)告诉您:当前正要下载:板块全能显显示板块板块监控指标详解 通达信全能监控 { 参数 RN: ...

  6. 文件监控——watchdog详解

    文章目录 文件监控--watchdog详解 一.官方文档(需要细节选择去官网,需要了解和应用范例看本文即可) 二.watchdog安装 1. Installing from PyPI using pi ...

  7. 2021年大数据Spark(十二):Spark Core的RDD详解

    目录 RDD详解 为什么需要RDD? 什么是RDD? RDD的5大特性 第一个:A list of partitions 第二个:A function for computing each split ...

  8. 自动化监控--手动添加itme监控项详解

    前言 在自动化监控–zabbix安装和配置博文中我们已经创建了除监控节点外的一个监控节点agent1,并且为agent1添加了一个监控项模板,但是我们在工作中肯定有仅仅某一项或几项的的需求,这时候我们 ...

  9. Nagios监控系统详解

    1 Nagios简介 Nagios 全名为(Nagios Ain't Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统, ...

  10. 3位Committer,12场国内外技术实践,2016中国Spark技术峰会议题详解

    源于2014年,由CSDN主办的中国Spark技术峰会已成功举办两届,而到了2016年,峰会更得到了Spark护航者Databricks的支持,所有议题均由Databricks联合创始人兼首席架构师R ...

最新文章

  1. M1 mac安装PyTorch的完整步骤指南
  2. Vmware 中Windows和虚拟机共享文件--VMware-tools补丁安装
  3. 选择在共享模式中运行时使用的采样频率和位深度_【仪器】示波器的使用以及基本原理...
  4. SDNU 1045.石子合并1(区间dp)
  5. ELF文件格式详解-请查收
  6. 腾讯员工平均月薪7万?腾讯回应:完全不能这么算
  7. 建模与仿真matlab论文,基于MATLAB的无线信道建模与仿真.doc
  8. ijkplayer 代码走读之 h264 解封装器应用详解
  9. 【51单片机】OOK无线通讯在无线门磁报警中的应用
  10. 19. 大吉大利,晚上吃鸡
  11. 用户、角色、权限数据库设计
  12. 计算机硬盘对考,台式机怎样让进行硬盘对拷(快速批量装机) 台式机让进行硬盘对拷(快速批量装机)的方法...
  13. layui-模糊查询后在数据表格中显示
  14. python 爬取腾讯漫画
  15. html5及CSS的学习2
  16. 个人申请微信H5支付接口(个人免签约支付平台)
  17. 编写测试用例的基本方法之边界值
  18. Leetcode_137_Single Number II
  19. SqlHelper的使用
  20. element-ui table的选中行高亮和取消高亮

热门文章

  1. Win10任务栏卡死解决方案
  2. 用 dfuse `transaction_lifecycle` 端点跟踪任何交易,包括延期交易
  3. 个人作业2——集大通APP案例分析
  4. 1 人抵 1 万名黑客的阿里女守护神,私底下竟然是这个样子!
  5. 字节跳动AI lab计算机视觉实习生面试教训
  6. 光学系统像差的计算机模拟,XCCHJJ-B 光学系统像差传函焦距测量综合实验装置
  7. 大健康、医疗服务、商城系统、内容管理、健康数据统计、医疗问诊、慢病管理、科室管理、问诊订单、看病、挂号预约、体检订单、疾病管理、血压、血糖、运动、睡眠、物流、体温、体重、计步、心率、医院、医生、售后
  8. 电热毯UL964标准上架亚马逊所需资料流程
  9. 从内观修行的角度看正念疗法
  10. 什么是全栈工程师,如何成为全栈工程师