spark指标性能分析

南墨2年前技术文章796

1)      Spark的性能指标

   任务启动后可以在yarn的原生页面看到对应的任务信息,点击ApplicationMaster

后可以跳转到spark原生页面查看任务信息。

1.png

job信息:

2.png

Executor信息:在启动命令中可以设置excutor的个数

3.png

具体每个批次的执行的数据量,延迟时间,处理时间等。

4.png

进入每个批次后,能够看到这个批次执行的具体数据,也就是具体消费了哪些数据;这些数据能够精确到具体的分区和具体的数据量。

5.png

2)      Spark的调优参数

l  并行度调优:如果每个批次消费正常,但是性能慢,可以增加消费并行度,并且增加kafka的分区数。

l  批次时间优化:修改以下客户端参数,提升批次的处理时间

参数

默认值

意义

spark.authenticate.enableSaslEncryption

false


spark.reducer.maxSizeInFlight

96MB


spark.shuffle.file.buffer

64KB


spark.authenticate

false


spark.network.sasl.serverAlwaysEncrypt

false


spark.shuffle.service.enabled

false


spark.streaming.kafka.consumer.poll.ms

0

Executor Consumer拉去一次数据的超时时间

l  Kafka消费端参数调优:

参数

默认值

意义

max.poll.records

500

Consumer一次拉取得数据量,调大该值能够提升一个消费线程的吞吐量,减少对kafka的请求数。

metadata.max.age.ms

30000ms

元数据更新时间,建议这个值不大于spark.streaming.kafka.consumer.poll.ms值的1/2

session.time.out

10000

组管理协议中判定consumer是否失效的超时时间,建议将这个值调整到30000以上

3)      问题排查流程

如果想查看具体是哪个task的问题,需要具体的分析一下task的日志信息。查看路径如下:

1.       找到具体的批次,例如:

1.png

2.       进入后,能够看到具体的jobID的执行时间

2.png

3.       选中其中的一个延时较长的job,点击进入后继续选择时间较长的Description

 

3.png

4.       进入后选择,对应的日志进行分析

4.png

5.       日志中能够反映出,每个Excutor consumer的配置文件信息,如下:

5.png

能够反映出每个task的执行间隔时间:

6.png

如果执行时间间隔较长,需要分析jstack信息。

6.       根据第4步中的Excutorid(图中为7),可以查看Tread dump信息,查看具体线程哪里有异常。

7.png


相关文章

聊一聊什么是分布式系统

聊一聊什么是分布式系统

分布式系统原理1 概念1.1 模型节点在具体的工程项目中,一个节点往往是一个操作系统上的进程。在本文的模型中,认为节点是一个完整的、不可分的整体,如果某个程序进程实际上由若干相对独立部分构成,则在模型...

PostgreSQL 命令行工具介绍

前言psql 是 PostgreSQL 自带的命令行交互客户端工具,类似于 MySQL 的 mysql -u -p 不过相当于 MySQL 的命令行工具 psql 功能更丰富些,例如单击 tab 自动...

Linux 文本三剑客 - Sed

Stream EDitor(sed)是一种行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space),接着用 sed 命令处理缓冲区中的内容,处...

CDH实操--CDH集成Trino(三)

CDH实操--CDH集成Trino(三)

1、将parcel包放到对应下载目录将parcel包放到/var/www/html/trino目录下修改httpd配置文件新增parcel文件类型然后通过命令启动httpd服务:systemctl s...

SparkStreaming对接kafka消费模式区别

SparkStreaming对接kafka消费模式区别

Sparkstreaming对接kafka使用的消费方式与常规的kafka消费方式完全不同,其中区别主要为消费者的管理方式不同。Ø  常规消费模式Kafka常规的消费模式以消费者组为消费单元...

trino容器对接ldap(二)

trino容器对接ldap(二)

前提:本文前提是在trino容器已经对接上hive组件,并且ldap已经部署完成的基础上进行的对接。前提文章见:helm安装部署trino对接hive(一)安装部署1、设置证书因为不确定是在哪台机器中...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。