spark指标性能分析

南墨2年前技术文章665

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


相关文章

win2016系统新增辅助网卡无法访问公网

win2016系统新增辅助网卡无法访问公网

问题现象:一台阿里云win2016系统服务器,在主网卡已绑定弹性公网ip之后,再新增了一块辅助网卡,无法访问公网。另外,使用NAT网关做了dnat到辅助网卡的映射。该台服务器网卡信息为:主网卡:172...

MongoDB的In-Memory存储引擎

   在企业版 3.2.6版本开始,MongoDB开始有In-Memory存储引擎,除了一些元数据和诊断数据外,In-Memory存储引擎不会存储任何数据到磁盘,包括配置数据、索引、用户凭证等。   ...

impala故障处理

问题复现:[cdh004:21000] > select count(*) from impala_100yi; Query: select count(*) from impala_100y...

MinIO文件服务

MinIO文件服务

MinIO官网地址:docs.min.io/cn/一、Minio简介Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大...

hive元数据操作

1.查看hive从超过5000分区的表select dbs.name, tbls.TBL_NAME, count(1) as part_count from dbs, tbls, partitions...

Prometheus监控Minio集群

Prometheus监控Minio集群

一、概述Minio支持集成prometheus,用以监控CPU、硬盘、网络等数据。二、修改docker-compose.yaml官方的给docker-compose.yaml,默认是不能访问metri...

发表评论    

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