Hadoop作业性能指标及参数调优实例 (一)Hadoop作业性能异常指标

大数据领域Hadoop的集群性能监控指标 Hadoop作为大数据处理的核心平台,其集群性能直接影响数据处理效率和系统稳定性。本文旨在系统性地介绍Hadoop集群性能监控的关键指标体系,帮助管理员和开发者全面掌握集群运行状态,及时发现和解决性能瓶颈。本文将从基础概念入手,逐步深入到指标采集、分析和应用的全过程,最后提供实战案例和工具推荐,形成完整的知识体系。NameNode:HDFS的元数据管理节点:YARN的资源调度核心组件DataNode:HDFS的数据存储节点:YARN的节点资源管理组件Block。 阅读详情

作者:Shu, Alison 

Hadoop作业性能调优的两种场景:

一、用户观察到作业性能差,主动寻求帮助。

(一)eBayEagle作业性能分析器

1. Hadoop作业性能异常指标

2. Hadoop作业性能调优7个建议

(二)其它参数调优方法

二、Hadoop集群报告异常,发现个别作业导致集群事故。

 

一、用户观察到作业性能差,主动寻求帮助。

(一)eBay Eagle作业性能分析器

对一般作业性能调优,eBay Eagle[i]的作业性能分析器已经能满足用户大部分需求。eBayEagle作业性能分析包含两个部分,第一部分是根据定量指标,捕捉性能异常的作业。在本文中,我们不考虑Hadoop集群或者节点故障造成作业性能的普遍下降,因此我们认为这些性能指标异常只与Hadoop作业有关,可以通过性能调优来改善。第二部分是调优建议。根据Hadoop作业性能异常指标判断作业是否需要调优,再综合采用第二部分的建议。第二部分也可以作为Hadoop作业开发的指引,并在后期性能测试中检查。

 

1. Hadoop作业性能异常指标有7个,以2015年5月的数据看,发生比例如下:

指标

%

作业进展缓慢

32%

Reduce数量太多

24%

Bytes Consumed Per CPU Second太低

23%

和历史记录比较,作业用时太久

15%

作业用时太久

3%

Shuffle size太大

2%

Read/Write Ops太大

0%

总计

100%


§  作业进展缓慢

HDFS的读写或者File的读写没有任何进展,并且持续相当一段时间。设15分钟为标杆,则当Hadoop作业没有任何读写操作持续达到15分钟,认为作业性能异常。如果作业普遍进展缓慢,可能是系统负载过高或否存在坏节点,这种情况是集群问题,与个别作业无关,但是用户可以通过选择合适的时间窗口或者queue来避免系统资源紧张导致作业性能下降。在Hadoop 2中,yarn通过scheduler管理大型集群多用户之间的资源分享。有两种scheduler:Fair Scheduler和Capacity Scheduler。作业对应的queue如果负载过高,则相应queue里的作业因为等待资源而进展缓慢。eBay Hadoop集群使用Capacity Scheduler,不同的queue拥有不同的资源,同一个作业如果有多个queue可以选择,建议作业使用相对空闲的queue,或者在相对空闲的时间窗口运行。

 

§  Reduce数量太多

这个指标需要设定合适的标杆,eBay Ealge认为Reduce 数量大于1500,作业性能会变差。初衷是通过控制Reduce 数量减少Seek operation 数量。在实践中,我们发现有些特殊的作业,Map output非常大,减少Seek operation 带来的收益小于Reduce 数据溢出到磁盘导致的额外成本。对这种作业,Reduce 数量超过1500是合理的。

示例:job_1401947195699_0367 Map number=9300, Reducenumber=4500

Job Counter截图


计算控制Reduce 数量的综合损益:

-减少Seek operation 带来的收益:

Reduce 数量从4500降低到1500,目的是减少Seek operation number。简化计算,忽略Shuffle handler使用read ahead来cache data。Reduce 数量减少3000会节省75小时。

reduced # of Seeks:(4500 – 1500) * 9000 (maps) =27000000.

假设IOPS=100, max. reduced time: 27000000 / 100 / 3600(seconds) = 75 hours.

 

-增加每个Reduce data导致的成本:

已知每个Reduce memory=3GB,ShuffleBytes=19TB

19(TB)/1500*1024(GB)=13(GB)

数据溢出到磁盘:13(GB)-3(GB)=10(GB)

假设磁盘平均读写速度=100MB/s

10(GB) * 2(write + read) * 1500 / 100(MB/s) /3600(seconds) = 85 hours.

 

-减少Reduce 数量的净收益:

75(hour) -85(hour)=-10(hour)

 

§  BytesConsumed per CPU second太低

这个指标也要和标杆比较,设BytesConsumed per CPU second低于200KB,认为作业性能较差,需要调优。用户也可以从job counter计算这个指标。

Bytes Consumed = File Bytes Read + File BytesWritten + HDFS Bytes Read + HDFS Bytes Written

示例:job_1431213413583_506297

Bytes consumed per CPU second=194.65 KB

Job Counter截图:


§  和历史记录比较,作业用时太久

有很多统计算法可以发现作业用时过长。eBay Eagle使用如下算法:

·        采集最少100个历史用时,每个用时作为一个数据点

·        去除10%最长用时数据点,计算中位数p90

·        计算绝对离差的中位数MAD

·        计算离差倍增数的95分位数dmMax

·        如果作业用时的离差倍增数大于dmMax,且大于p90,则认为作业用时太久,需要用户注意作业性能。如果普遍发生,则可以是集群问题,和个别作业无关。

很多Hadoop作业每天运行一次或者一天运行多次,适合统计历史用时。但根据Hadoop 平台架构,每次MapReduce作业都会获得新的Job Id,因此需要作业命名正则化来唯一确定作业。eBay Eagle创建了属性 ebay.job.name=<normalized job name>,来获得正则化作业名称。

Hadoop作业命名正则化示例(命令行方式):

/bin/hadoop jar <your-job.jar> -Debay.job.name=${TABLE_NAME}.${JOB_NAME} -D ebay.alert.email=$NOTIFY_EMAIL_ADDR-D ebay.job.runid=$(date +%s)

 

§  作业耗时太久,超过标杆

设12小时为标杆,如果Hadoop作业耗时超过12小时,即认为作业性能差 。

用户很容易通过JobTrackerweb URL或是Hadoop API观察这个指标。

 

§  ShuffleSize太大

标杆设为单个Reduce对应的Shuffle size上限为10GB,超过这个数值,作业需要调优。

示例:job_1431213413583_517459

Reduce number=1 Reduce Shuffle Bytes=10709428036

Job Counter截图:


§  Read/WriteOps太大

标杆设为HDFS Read or Write Ops上限为10MB,超过这个数值,作业需要调优。

示例:job_1431213413583_597431 HDFS_READ_OPS=55.77M

Job Counter截图:


[1] eBay Eagle是eBay自主研发的系统,用于大型Hadoop集群管理,集监控、警示和智能修复功能于一体。eBayEagle即将开源,有望成为Apache的孵化项目。


大数据——Hadoop集群调优 一、HDFS多目录存储 1.1 生产环境服务器磁盘情况 1.2 在hdfs-site.xml文件中配置多个目录,需要注意新挂载磁盘的访问权限问题。 HDFS中DataNode节点保存数据的路径由dfs.datanode.data.dir参数决定,其默认值为file://${hadoop.tmp.dir}/dfs/data,若服务器中有多个磁盘,必须对改参数进行修改。如服务器磁盘如上图所示,则该参数应修改为如下的值。 <property> <name&g... 阅读详情

相关推荐

oracle性能指标

oracle一些性能指标,供大家参考学习

【大数据之Hadoop】二十六、生产调优-HDFS集群压测

测试上传数据到集群和拉取数据的时间。HDFS的读写性能主要受网络和磁盘影响比较大。为了方便测试,将hadoop102、hadoop103、hadoop104虚拟机网络的带宽都设置为100Mbps。

阿宁的博客 1235

上下文理解的AI增强方案:AI应用架构师的架构洞察

本文将从AI应用架构师的视角,深入探讨“上下文理解”的技术本质、核心挑战,以及一套可落地的上下文增强架构方案。我们会拆解上下文理解的底层需求,分析架构设计中的关键决策,并通过具体案例展示如何构建一个能“记住过去、理解现在、预测未来”的AI系统。三个维度:上下文的内容范围(短期/中期/长期)、数据类型(文本/结构化/多模态)、技术挑战(窗口限制/信息过载/跨会话一致性);三种架构模式:分层上下文存储(热/冷数据分离)、上下文路由(按需筛选)、动态压缩(适配模型窗口);四个关键组件。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 220

大数据领域 Hadoop 的集群性能评估指标

当你管理一个Hadoop集群时,可能遇到这些困惑:“为什么凌晨的ETL任务突然变慢了?“花大价钱扩容了节点,吞吐量怎么没提升?“YARN总是报错资源不足,是配置问题还是硬件瓶颈?这些问题的答案,都藏在“集群性能评估指标”里。本文将覆盖Hadoop核心组件(HDFS存储层、YARN计算层)的关键指标,以及集群整体健康度的评估方法,帮助你从“被动救火”转向“主动优化”。用“快递站”比喻HDFS,“工厂流水线”比喻YARN,理解Hadoop集群的运行逻辑;

SuperAGI2025 1007

逆向分析第一步:如何从HEX文件‘还原’出单片机的原始程序与数据?

本文详细解析了如何从HEX文件逆向分析出单片机的原始程序与数据,涵盖了固件逆向的底层逻辑与实践。通过介绍HEX文件的结构、内存映像重建技术以及专业工具链的使用,帮助读者掌握从十六进制数据到可执行代码的完整流程,适用于嵌入式系统开发和逆向工程领域。

weixin_29745609的博客 317

FPGA以太网开发实战:YT8511 PHY芯片MDIO接口配置全流程(附Verilog代码)

本文详细介绍了FPGA以太网开发中YT8511 PHY芯片MDIO接口的配置全流程,包括MDIO接口技术解析、Verilog状态机设计、核心代码实现细节及实战调试经验。通过提供经过验证的Verilog代码和优化策略,帮助开发者快速掌握以太网PHY芯片配置技术,提升通信系统性能。

weixin_29184371的博客 232

Hadoop基准测试

在企业中非常关心每天从Java后台拉取过来的数据,需要多久能上传到集群?消费者关心多久能从HDFS上拉取需要的数据? 为了搞清楚HDFS的读写性能,生产环境上非常需要对集群进行压测。 HDFS的读写性能主要受网络和磁盘影响比较大。为了方便测试,将hadoop102、hadoop103、hadoop104虚拟机网络都设置为100mbps。 100Mbps单位是bit;10M/s单位是byte ; 1byte=8bit,100Mbps/8=12.5M/s。 测试网速: (1)来到hadoop102的/opt

weixin_44484668的博客 1300

Abaqus仿真进阶:如何准确计算气动软体机器人的抓取力(Blocking Force分析)

本文详细介绍了使用Abaqus进行气动软体机器人抓取力(Blocking Force)分析的进阶技巧。从材料模型验证、刚性目标物选择到接触对建立和充气加载优化,提供了一套完整的有限元仿真解决方案,帮助工程师准确预测软体执行器的抓取性能。

weixin_42528902的博客 401

[Hadoop] Hadoop集群一般需要关注的几个重要指标

原文来自hackershell,转载请注明出处 通用监控指标 对于每个RPC服务应该监控 RpcProcessingTimeAvgTime(PRC处理的平均时间) 通常hdfs在异常任务突发大量访问时,这个参数会突然变得很大,导致其他用户访问hdfs时,会感觉到卡顿,从而影响任务的执行时间 CallQueueLength(RPC Call...

weixin_34332905的博客 1446

ScanNet数据集下载全攻略:从申请到解析的保姆级教程(含常见问题解决)

本文提供了ScanNet数据集从申请授权到下载、解析的完整实战指南。针对这个大规模室内RGB-D数据集,详细介绍了官方申请流程、优化下载策略、数据验证方法,并重点解决了深度图解析等常见问题,帮助三维视觉研究者高效获取和使用这一宝贵资源。

5f4d3s2a1q的博客 618

短视频mssdk中get_token协议逆向与加密流程深度解析

本文深度解析了短视频mssdk中get_token协议的逆向分析与加密流程。通过抓包、Frida Hook、静态分析等手段,详细拆解了协议数据的Protobuf结构、设备信息采集来源,并重点剖析了其核心加密链路:zlib压缩、自定义TEA算法与AES-CBC加密,最终实现完整的协议模拟。

flower的专栏 555

Hadoop作业性能指标及参数调优实例 (三)Hadoop作业性能参数调优方法

eBay拥有8个Hadoop集群,7000+节点,使用eBay Eagle进行集群管理,eBay平台支持团队提供技术咨询,帮助用户有效利用大数据。基于用户咨询,我们以Hadoop作业性能为研究范畴,阐述作业性能指标,给出参数调优建议。

ebay的专栏 3569

《多模态融合改进》支持目标检测、目标分割、OBB、姿态估计,配置教程

本文以为例,讲解如何配置,支持替换专栏里所有的改进方式。

Limiiiing的博客 798

Hadoop作业性能指标及参数调优实例 (二)Hadoop作业性能调优7个建议

eBay拥有8个Hadoop集群,7000+节点,使用eBay Eagle进行集群管理,eBay平台支持团队提供技术咨询,帮助用户有效利用大数据。基于用户咨询,我们以Hadoop作业性能为研究范畴,阐述作业性能指标,给出参数调优建议。

ebay的专栏 2643

巡检类机器人电池容量计算方法论(原理+算法+真实案例)

摘要:本文系统阐述了巡检机器人电池容量的计算方法,重点解析了;能量平衡;核心原理和三种主流算法。通过光伏电站履带式巡检机器人的真实案例,详细演示了从工况拆解、功耗采集到容量计算的完整流程。文章指出:室内轻载场景可采用静态平均功耗法,户外常规工况推荐动态负载积分法,而复杂环境需采用融合估算算法。特别强调需考虑温度修正(冬季容量衰减20%)、冗余系数(1.2-1.5)和放电深度(磷酸铁锂DoD取80%)等关键参数。

start_up_go的博客 243

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spark调优 | Spark SQL参数调优

前言 Spark SQL里面有很多的参数,而且这些参数在Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spark-sql版本支持的参数。 本文讲解最近关于在参与hive往spark迁移过程中遇到的一些参数相关问题的调优。 内容分为两部分,第一部分讲遇到异常,从而需要通过设置参数来解决的调优;第二部分讲用于提升性能而进行的调优。 异常调优...

沈颖的家 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Spark性能调优

嗨,各位小伙伴大家好,我是爱小可爱的IT白,最近应朋友所邀,一直让写一篇关于Spark调优方面的文章,这两天工作之余,忙里偷闲,写了这篇调优文章,跟大家一起共享;在大数据领域,肯定有很多小伙伴跟笔者一样为了让生产中数据执行速度更快、性能更高而去使用Spark,当我们用Spark程序实现功能开发并使程序正常稳定运行起来的时候,一定是非常有成就感的;但是随着数据量的增加以及需求的完善,我们就开始关注我们这个程序能否做到在运行起来的时候让数据查询更快、让页面响应更快、尽可能的节省空间占用率;

aikeaidecxy的博客 2491

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hadoop作业调优参数整理及原理

1 Map side tuning参数1.1 MapTask运行内部原理<br /><br />当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存buffer(MapOutputBuffer,即上图的buffer in memory),map会将已经产生的部分结果先写入到该buffer中

jackfor001的专栏 1080

Hadoop作业性能指标及參数调优实例 (三)Hadoop作业性能參数调优方法

作者: Shu, Alison  Hadoop作业性能调优的两种场景: 一、用户观察到作业性能差,主动寻求帮助。 (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Hadoop作业性能调优7个建议 (二)其他參数调优方法 二、Hadoop集群报告异常。发现个别作业导致集群事故。   一、用户观察到作业性能差。主动寻求帮助。 (一)eB...

weixin_33860147的博客 572

Hadoop 调优之 YARN 调优篇

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系 正文 RM的内存资源配置, 配置的是资源调度相关 ID 配置 说明 RM1 yarn.scheduler.minimum-allocation-mb 分配给AM单个容器可申请的最小内存 RM2 yarn.scheduler.maximum-allocation-mb 分配给AM单个容器可申请

Shockang的博客 3万+

Spark内容分享(十四):Spark性能调优

在大数据领域,肯定有很多小伙伴跟笔者一样为了让生产中数据执行速度更快、性能更高而去使用Spark,当我们用Spark程序实现功能开发并使程序正常稳定运行起来的时候,一定是非常有成就感的;但是随着数据量的增加以及需求的完善,我们就开始关注我们这个程序能否做到在运行起来的时候让数据查询更快、让页面响应更快、尽可能的节省空间占用率;而前面提到这些"美好的设想"其实是由很多方面决定的,由很多部分组成,并不是仅仅通过调节几个参数就可以大幅度提升作业性能的。

之乎者也·的博客 1151

Spark性能优化 (4) | JVM 调优

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/   本片博文为大家带来的是JVM 调优。 目录1. 降低cache.

不温卜火 6288

spark_sql 参数调优

spark Sql 参数调优 目录 前言 异常调优 spark.sql.hive.convertMetastoreParquet spark.sql.files.ignoreMissingFiles && spark.sql.files.ignoreCorruptFiles spark.sql.hive.verifyPartitionPath spark.fil...

weixin_43363407的博客 2477

Hadoop集群性能调优实战:从原理到参数配置的完整指南

在大数据生态系统中,分布式存储与计算框架是处理海量数据的核心基础设施。其工作原理基于将数据分片存储与并行计算,通过资源统一调度来提升吞吐量。这项技术的核心价值在于,能够以横向扩展的方式,高效、稳定地处理PB级数据,并显著降低海量数据处理的硬件与运维成本。其典型应用场景包括企业级数据仓库、实时数据分析平台以及机器学习训练管道。本文将聚焦于Hadoop这一经典框架,深入探讨如何通过系统化的性能调优,解决数据倾斜与资源利用率低下等常见工程挑战,从而充分挖掘集群潜力,实现从“能用”到“好用”的跨越。

culiao2169的博客 528
上一篇: JS方法代理
下一篇: Hadoop作业性能指标及参数调优实例 (二)Hadoop作业性能调优7个建议
ebay
博客等级 码龄24年 109粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值