Hadoop作业性能指标及参数调优实例(一)Hadoop作业
“tinashe”通过精心收集,向本站投稿了10篇Hadoop作业性能指标及参数调优实例(一)Hadoop作业,下面是小编为大家推荐的Hadoop作业性能指标及参数调优实例(一)Hadoop作业,欢迎大家分享。
篇1:Hadoop作业性能指标及参数调优实例(一)Hadoop作业
作者:Shu, Alison
Hadoop作业性能调优的两种场景:
一、用户观察到作业性能差,主动寻求帮助,
(一)eBayEagle作业性能分析器
1. Hadoop作业性能异常指标
2. Hadoop作业性能调优7个建议
(二)其它参数调优方法
二、Hadoop集群报告异常,发现个别作业导致集群事故。
一、用户观察到作业性能差,主动寻求帮助。
(一)eBay Eagle作业性能分析器
对一般作业性能调优,eBay Eagle[i]的作业性能分析器已经能满足用户大部分需求。eBayEagle作业性能分析包含两个部分,第一部分是根据定量指标,捕捉性能异常的作业。在本文中,我们不考虑Hadoop集群或者节点故障造成作业性能的普遍下降,因此我们认为这些性能指标异常只与Hadoop作业有关,可以通过性能调优来改善。第二部分是调优建议。根据Hadoop作业性能异常指标判断作业是否需要调优,再综合采用第二部分的建议。第二部分也可以作为Hadoop作业开发的指引,并在后期性能测试中检查。
1. Hadoop作业性能异常指标有7个,以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=
Hadoop作业命名正则化示例(命令行方式):
/bin/hadoop jar
§ 作业耗时太久,超过标杆
设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的孵化项目。
篇2:Hadoop集群作业调度算法
Hadoop集群中有三种作业调度算法,分别为FIFO,公平调度算法和计算能力调度算法
先来先服务(FIFO)
FIFO比较简单,hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾,一个作业运行完后,总是从队首取下一个作业运行。这种调度策略的优点是简单、易于实现,同时也减轻了jobtracker的负担。但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑到作业的紧迫程度,另外对小作业的运行不利。
公平调度策略
这种策略在系统中配置了任务槽,一个任务槽可以运行一个task任务,这些任务就是一个大的作业被切分后的小作业。当一个用户提交多个作业时,每个作业可以分配到一定的任务槽以执行task任务(这里的任务槽可以理解为可以运行一个map任务或reduce任务)。如果把整个hadoop集群作业调度跟操作系统的作业调度相比,第一种FIFO就相当于操作系统中早期的单道批处理系统,系统中每个时刻只有一道作业在运行,而公平调度相当于多道批处理系统,它实现了同一个时刻多道作业同时运行。由于linux是 多用户的,若有多个用户同时提交多个作业会怎样?在这种策略中给每个用户分配一个作业池,然后给每个作业池设置一个最小共享槽个数,什么是最小共享槽个数 呢?先要理解一个最小什么意思,最小是指只要这个作业池需要,调度器应该确保能够满足这个作业池的最小任务槽数的需求,但是如何才能确保在它需要的时候就 有空的任务槽,一种方法是固定分配一定数量的槽给作业池不动,这个数量至少是最小任务槽值,这样只要在作业池需要的时候就分配给它就行了,但是这样在这个 作业池没有用到这么多任务槽的时候会造成浪费,这种策略实际上是这样做的,当作业池的需求没有达到最小任务槽数时,名义上是自己的剩余的任务槽会被分给其 他有需要的作业池,当一个作业池需要申请任务槽的时候若系统中没有了,这时候不会去抢占别人的(也不知道抢谁的啊),只要当前一个空的任务槽释放会被立即 分配给这个作业池,
在一个用户的作业池内,多个作业如何分配槽这个可以自行选择了如FIFO。所以这种调度策略分为两级:
第一级,在池间分配槽,在多用户的情况下,每个用户分配一个作业池。
第二级,在作业池内,每个用户可以使用不同的调度策略。
计算能力调度
计算能力调度和公平调度有点类似,公平调度策略是以作业池为单位分配任务槽,而计算能力调度是以队列为单位分配tasktracker(集群中一个节点),这种调度策略配置了多个队列,每个队列配置了最小额度的tasktracker数量,同公平调度策略类似,当一个队列有空闲的tasktracker时,调度器会将空闲的分配给其他的队列,当有空闲的tasktracker时,由于这时候可能有多个队列没有得到最小额度的tasktracker而又在申请新的,空闲的tasktracker会被优先分配到最饥饿的队列中去,如何衡量饥饿程度呢?可以通过计算队列中正在运行的任务数与其分得的计算资源之间的比值是否最低来判断的,越低说明饥饿程度越高。
计算能力调度策略是以队列的方式组织作业的,所以一个用户的作业可能在多个队列中,如果不对用户做一定的限制,很可能出现在多个用户之间出现严重不公平的现象。所以在选中新作业运行时候,还需要考虑作业所属的用户是否超过了资源的限制,如果超过,作业不会被选中。
对于在同一个队列中,这种策略使用的是基于优先级的FIFO策略,但是不会抢占。
转自:blog.csdn.net/chen_jp/article/details/7983076
篇3:Hadoop作业调度管理系统 Corona
Corona,这是 Facebook 用来调度和管理大规模 Hadoop 作业的系统,
Corona 是 Map-Reduce 的改进版本,可以更好地利用集群资源,更适合 Facebook 的“多租户(Multi-Tenant)”环境。
在 Facebook,Map-Reduce 有一个单一的作业 (JobTracker),用来管理集群资源和跟踪每个作业的状态。而使用 Corona,集群资源通过一个中央集群管理器来跟踪,每个作业都有自己的 ,这些 只需跟踪一个作业。
Corona 在 Map-Reduce 的基础上进行了如下改进:
可扩展性:单独的 Corona JobTrackers 来负责任务的跟踪,这为作业的数量和规模提供了更好的扩展性,
延迟:任务调度工作在 push 模型中。Corona Job Tracker 推送资源请求到 Cluster Manager,然后在收到 Cluster Manager 的许可后,推送任务到 Corona Task Tracker。这种调度决策是在收到 heartbeats 时发生,对于小的作业来说,heartbeat 模型相关的延迟就变得重要。
与 Map-Reduce v1 相比,Corona 中的 Fair Scheduler 能更好地分配资源到资源池中。
由于调度开销较低,集群可以得到更好的利用。
项目地址:github.com/facebook/hadoop-20/tree/master/src/contrib/corona
来自: www.iteye.com
篇4:Hadoop集群提交作业问题总结
我们知道可以在本地节点向远程集群提交作业,为了实现远程作业的提交:首先,要确保本地机器的用户名需要跟远程集群的用户名一致(在实验环境中,集群的用户名是hadoop,因此要在本地机器上创建一个hadoop用户)。
其次,要确保本地机器上的用户对hadoop执行文件和配置文件具备相应的权限(在实验环境中,hadoop用户需要对hadoop安装文件具有执行权限;需要对hadoop配置文件具备读权限;需要对作业的jar文件具备执行权限等)。
再次,本地机器的hadoop配置文件需要与集群的配置文件一致。在一般情况下直接将集群上的配置文件拷贝下来即可。
所有这些完成后使用下面命令进行作业的提交
hadoop --config配置文件目录jar作业.jar其他参数
注意:在本次作业提交实验过程中还发现一些问题,hadoop在通过配置文件进行启动的过程中已经知道HDFS是使用的何种文件系统,
因此,在使用的过程中不需要在添加hdfs://namenode:port/。注意,如果添加了hdfs://namenode:port/一定要注意端口与配置文件的端口是不是一致。我们知道,在命令行中输入的参数具有较高的优先级。以下面的命令为例:
hadoop --config ~/conf fs -ls direcotry
其中directory是不需要以hdfs://namenode:port/开头的,因为hadoop会根据配置文件~/conf进行默认判断。如果directory以hdfs://namenode:port/作为开头,那么一定要注意port。如果你没有显示表明port,默认的port是8020。在本次实验中,HDFS core-site设置的是hdfs://namenode:9001/,而我们在执行命令的时候输入的是hadoop --config ~/conf fs -ls hdfs://namenode/这样就导致了两者的端口不一致,从而造成了麻烦。来自:blog.csdn.net/zuochanxiaoheshang/article/details/8062101
篇5:古诗作业设计实例
古诗两首作业设计实例
古诗两首作业设计
1、《石灰吟》、《墨梅》都是:咏物诗。即两首诗都托物言志,借事物来表达自己的做人志向和高尚思想情操。
2、《石灰吟》作者明代的于谦。吟是古代诗歌的一种形式。诗人用托物言志的方法,通过对石头不畏千锤万击和烈火焚烧,即使粉身碎骨也要留下清白石灰的描写,赞颂石灰坚强不屈、洁身自好的品质,抒发了诗人不同流合污,坚决与恶势力斗争到底的`思想感情。名句是:粉骨碎身全不怕,要留清白在人间。
3、《墨梅》作者元代的王冕。这是一首题画诗。借墨笔画出来的梅花的色彩淡雅、不要别人夸奖只愿留下清香弥漫天地间来表达作者鄙视流俗、淡泊名利、贞节自守的高尚情操。名句是:不要人夸颜色好,只流清气满乾坤。
4、写梅花的古诗:梅花(宋 王安石)墙角数枝梅, 凌寒独自开。 遥知不足雪 ,为有暗香来。
5、再写一首托物言志的诗。竹石 (清 郑燮)咬定青山不放松,立根原在破岩中。千磨万击还坚劲,任尔东西南北风
6、默写《石灰吟》,解释字、句。
千锤万击出深山,烈火焚烧若等闲。粉骨碎身全不怕,要留清白在人间。
锤 击 千锤万击 若
等闲 若等闲 人间
全诗意思:
7、默写《墨梅》,解释字、句。
千锤万击出深山,烈火焚烧若等闲。粉骨碎身全不怕,要留清白在人间。
吾 洗砚池 池头 树 痕
淡墨痕 夸 清气 满乾坤
全诗意思:
篇6:架桥作业车自动调平技术研究
架桥作业车自动调平技术研究
针对应急桥梁架设作业的.需求,对架桥作业车的自动调平技术进行了研究,设计了6支腿架桥平台的自动调平方案,概述了电液控制系统的组成,提出了“高位追逐式”模糊控制算法.实装验证表明,该技术具有较好的推广应用前景.
作 者:王彪 邹煜 朱鹏程 作者单位:总装工程兵科研一所,江苏,无锡,214035 刊 名:专用汽车 英文刊名:SPECIAL PURPOSE VEHICLE 年,卷(期): “”(3) 分类号:U469.6+93.02 关键词:架桥车 自动调平 模糊控制篇7:二调农村地籍作业浅述
二调农村地籍作业浅述
第二次土地调查作为一项重大的国情国力调查,目的是全面查清全国土地利用状况,掌握真实的.土地基础数据,并对调查成果实行信息化、网络化管理,建立和完善土地调查、统计制度和登记制度,实现土地资源信息的社会化服务,满足经济社会发展、土地宏观调控及国土资源管理的需要.
作 者:潘宏 作者单位:安徽省第一测绘院,安徽,合肥,230031 刊 名:城市建设与商业网点 英文刊名:CHENGSHI JIANSHE YU SHANGYE WANGDIAN 年,卷(期):2009 “”(28) 分类号:P2 关键词:篇8:快乐提优语文作业及答案
快乐提优语文作业及答案
一、选词填空。
尊重 尊敬
1.晏子的出色表现让楚王刮目相看,对他愈发________了。
2.________长辈是我们应该做到的.。
起源 来源
3.当老师讲到人的________时,我忍不住笑出了声。
4.这________不明的东西我可不敢接受。
及时……也虽然……但是不仅……还
因为……所以如果……就只有……才
5.他残废了,他的毅力令所有的人肃然起敬。
6.班长喜欢绘画,喜欢音乐。
7.这些石钟乳不比作什么,值得有人细细观赏。
8.到过海边的人,能感受到那无与伦比的视觉冲击。
二、句式变换。
1.陈述句与反问句互换。
这比山高比海深的情谊,我们怎么能忘怀?
战士们没有离开他们的阵地,我不能离开指挥台。
2.“把”字句、“被”字句互换。
黑暗把天边的最后一丝光亮吞没了。
洞口被蟋蟀打扫得一尘不染,令人称奇。
3.改成拟人句。
花儿开了,微风吹过,花儿摇摆着。
4.改成比喻句。
这歌声清澈圣洁。
三、默写古诗《牧童》
________,________。
________,________。
篇9:使用电子调绘系统的内外业一体化作业方法
使用电子调绘系统的内外业一体化作业方法
结合航测调绘作业的实际情况,提出了了一种以数字化的电子调绘系统为基础,紧密结合数字移动设备的'新的调绘作业方式,一种内外业工作相辅相成,紧密合作的工作方式.达到了新时期提高外业调绘作业效率,降低外业劳动强度的要求,实现地理数据快速更新和内外业工作的一体化.
作 者:王华 杨曦承 杨华先 彭松林 WANG Hua YANG Xicheng YANG Huaxian PENG Songlin 作者单位:湖北省第一测绘院,湖北,武汉,430074 刊 名:地理空间信息 英文刊名:GEOSPATIAL INFORMATION 年,卷(期): 7(3) 分类号:P231.1 关键词:外业调绘作业方式 电子调绘系统 内外业一体化篇10:家庭教育现状调查出只有7成以上父母陪孩子写作业
家庭教育现状调查出只有7成以上父母陪孩子写作业
昨天,全国妇联儿童工作部发布第二次全国家庭教育现状调查结果。调查显示,多数父母存在不同程度的养育焦虑,父母过于关注孩子的学习,7成以上父母会“陪孩子写作业”。
父母的人才观决定了孩子的培养方向,调查中在询问“您最希望孩子成为什么样的人”,共列了12个选项,父母首选的.是希望孩子成为“敬老爱幼、有家庭责任感的人”,比例达到78.3%;其次是“身心健康、阳光快乐的人”。调查同时显示,对于家庭教育,虽然现在父母的人才观更趋社会的主流价值观,可是“不知道用什么方法教育孩子”成了如今家庭教育中父母遇到的最棘手问题。
调查结果显示,目前家庭教育还存在一些倾向性问题,多数父母存在不同程度的养育焦虑。父母最担心的主要有人身安全问题(占64.1%),学习成绩不好(占50.4%),而且在家庭教育分工中多是母亲唱主角,近一半家庭教育中父亲“缺位”。
调查还发现,目前我国父母过于关注孩子的学习,7成以上父母会“陪孩子写作业”,但却缺乏对孩子劳动、运动等能力的培养,父母认为孩子最差的是“家务劳动能力”等。同时,超四成的家长感到“学校给学生减负,实际增加了家长的负担”。
对于目前我国家庭教育中存在的问题,全国妇联儿童工作部建议,应该进一步完善家庭教育相关政策措施,建议尽快出台家庭教育法。同时,搭建家长自我教育的有效平台等。
【Hadoop作业性能指标及参数调优实例(一)Hadoop作业】相关文章:






文档为doc格式