hadoop作业调优参数及原理_第1页
hadoop作业调优参数及原理_第2页
hadoop作业调优参数及原理_第3页
hadoop作业调优参数及原理_第4页
hadoop作业调优参数及原理_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

hadoop作业调优参数整理及原理-阿里数据平台●●●●hadoop作业调优参数整理及 ment1(第1/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台 较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来化整个a的性能。如上图所示,每一个a都会对应存在一个内存(aOBfer,即上图的rino),a会将已经产生的部分结果先写入到该中,这个默认是100B大小,但是这个大小是可以根据jo提交时的参数设定来调整的,该参数即为:ismb。当a的产生数据非常大时,并且把ioso.调大,那么a在整个计算过程中sil的次数就势必会降低,apsk对磁盘的操作就会变少,如果apsks的瓶颈在磁盘上,这样调整就会大大提高a的计算性能。a做sot和sil的内存结构如下如所示: ment1(第2/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台存下来,当a输出超出一定阈值比如100M那么a就必须将该er个过程在ardue中叫做spil。ap并不是要等到将该r全部写满时才进行spil,因为如果全部写满了再去写sill,势必会造成a的计算部分等待b释放空间的情况。所以,a其实是当被写满到一定程度(比如80)siljo.een0.80或80%slapsk运行周期对磁盘的os.当 的输出结果。a在正常退出之前,需要将这些sil合并()成一个,所以a在结束之前还有一个的过程。is。该参数默认为10。它表示当esill文件时,最多能有多少并行的s向文件中写入。比如如果a产生的数据非常的大,产生的spil文件大于10,而i.so.aor使用的是默认的10,那么当a计算完成做时,就没有办法一次将所有的sil文件成一个,而是会分多次,每次最多10个sa。这也就 ment1(第3/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台 指定 biner的时候,我们都知 介绍后会 端根 biner定义的函数将map结果进合并。运行oi函数的时机有可会是完成之前,或者之,这个时机可以由一个参数控制,即in biealt3),当 中设定了 ir并且sill数最少3个的时候,oi函数就会在产生结果文件之前运行。通过这样的方式,就可以在spil非常多需要,并且很多数据需要做oi的时候,减少写入到磁盘文件的数据数量,同样是为了减少对磁盘的读写频率,有可能达到优化业目的。a的中间,无论是sil的时候,还是最后产生的结果文件,都是可以压缩的。压缩的好处在于,通过压缩减少写入读出磁盘的数据量。对中间结果非常大,磁盘速度成为a执行瓶颈的jo,尤其有用。控制a中间结果是否使用压缩的参数为 press.map.output(true/false)。将这个参数设置为true时,那么map会将数据压缩后再写入磁盘,读结果时也会采用先解压后数据。这样做的就是:写入磁盘的中间结 在,而是在磁盘的读写的情况。说的直白一些就是用换IO都不是oot中间结果采用压缩和不采用压缩产生的a中间结果本地磁盘读写的数据量对比: ment1(第4/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台当采用a中间结果压缩的情况下,用户还可以选择压缩时采用哪种压缩格式进行压缩,现在aoo支持的压缩格式有zio,Lzoo,Bi2o,Lzaoe等压缩格式。通常来说,想要达到比较平衡的和磁盘压缩比,Lzoo比较适合。但也要取决于jo的具体情况。用户若想要自行选择中间结果的压缩算法,可以设置配参数p e.oss.alo或者其用户行选的压方式。Mapside选 类 默认 描

大小(inMB)mapoutput ment1(第5/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台

map开始做merge

运行的spill

class

compress.DefaultCodec将数据分成 ment1(第6/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台开始尝试从完成的map中该reduce对应的partition部分数据。这个过程就是通常所说的shuffle,也就是Reducetask在做shuffle时,实际上就是从不同的已经完成的map上去属于自己这个reduce 可以调整的,调整参数为:mapred.reduce.parallel.copies(default5)。默认情况下,每个只会有5个 reduce的每一个线程在某个map数据的时候,有可能因为那个map中间结果所在机器发生错误,或者中间结果的文件丢失,或者网络瞬断等等情况,这样reduce的就有可能失败,所以reduce的线程并不会无休止的等待下去,当一定时间后仍然失败,那么线程就会放弃这次,并在随后尝试从另外的地方(因为这段时间map可能重跑)。所以reduce线程的这个最大的时间段是可以调整的,调整参数为:mapred.reduce.copy.backoff(default300秒)。如果集群环境的网络本身是瓶颈,那么用户可以通过调大这个参数来避免reduce线程被误判为失败的情况。不过在网络环境比较好的情况下,没有必要调整。通常来说专业的集群网络不应该有太大问题,所以这个参数需要调整的情况不多。R将a结果 到本地时,同样也是需要进行的,所以o.o.aor的配置选项同样会影响进行时的行为,该参数的详细介绍上文已经提到,当发现在sle阶段ioait非常的高的时候,就有可能通过调大这个参数来加大一次时的并发吞吐优效率。R在sl阶段对 来的a数据,并不是立刻就写入磁盘,而是会先缓存在内存中,然后当使用内存达到一定量时才入盘。这个内存大小的控制就不像a一样可以通过i.s.来设定了,而置:ebleibeeenalt 0.7实是一个百分比,意思是,si在内存的数最多用内量为0.7×axpofesk。也就是说,如果该esk的最大使用量(通通过a.i.jaa.s来置,如置为x1024)的一定比例用缓存据。认情,会使其sze70在内中缓存 ment1(第7/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台假设mapred.job.shuffle.input.buffer.percent为0.7,reducetask的maxheapsize为1G,那么用来做 的,而是当这700中被使用到了一定的限度(通常是一个百分比),就会开始往磁盘刷。这个限度阈值也是可以通过jo参数来设定的,设定参数为:mae.ob.shule.mee.en(dalt0.66)。如果e的性能有所帮助。 的)。当es真正进入函数的计算阶段时,有一个参数也是可以调的计算行。也就是:mae.ob.euinu.bufer.pern(ealt0.0)。由于e计算时肯定也是需消耗内存的,而在 需要的数据,同样是需要内存作,这个参数是控制,需要多少的内存百分比来作为读已经so好的数据的百分比。默认情况下为0也就是说,默认情况e是全部从磁盘开读理据。如果这个参数大于0,那么就会有一定量的数据被缓存在内存并输送给,当计算逻辑消耗内存很小时,可以分一部分内存用来缓存数据,反正的内存闲着也是闲着。2.2Reduceside选 类 描 map结果的 (in ment1(第8/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台

taskheap百分比

缓存的内存中多少百分比后开

guili|hadoop,云计算|Comments(28adebug一月20,20117:59下 这个很久之前在30台的集群上测试过,由于一开始跑不满网络,只能到10M左右,每次sfle都特别慢,因此改进了这个功能,直接单机网络打满,可见这里也是有可改进的地方的,但是对于大规模的环境下时,由于瓶颈已经不在网络上,往往是在o下,因此这个不是特别有效。rqetqr一月20,20118:59下 ment1(第9/27页)[2012/9/4数据平台hadoop作业调优参数整理及原理数据平台gaoyang一月20,20119:29下Shen一月21,20119:36上>>所以,为了优化reduce的执行时间,hadoop中是等job的第一个map结束后,所有的reduce 這句話不對,實際上來說Reduce階段是等Job已完成5%的Maptasks數量之後才開始啟動Reduce,此參數為 guili一月21,201110:08上@Shen我们的hadoop版本里没有引入slowstart这个功能,所以…… ment1(第10/27页)[2012/9/4数据平台hadoop作业调优参数整理及原理数据平台Shen一月21,201110:46上哦哦!是採用0.19guili一月21,201111:03上@Shen从08年开始基于0.19.1一月22,201111:52下 感 经 ment1(第11/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台guili一月25,20117:02一月25,2011guili一月25,20117:02一月25,20119:59上Raymond一月26,201110:36 @panfei这个说起来会很长,我们Raymond一月26,201110:36guili一月27,20119:09上 guili一月27,20119:09上 @Raymond多谢关注,我们会持 ment1(第12/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台yfan一月28,20119:53Roger二月2,20115:56下请问可guili二月10,201110:05 ment1(第13/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台三月16,201111:18下说的很好很全面,比definitiveguide讲的还透彻,做performancetuning推荐一个工具ganglia,用于cluster的cpu,mem,networkio等指标,逐一把硬件资源吃慢就tune到极限了;-)guili三月17,20113:57下@ 另外,ganglia我们从使用hadoop的第一天就在使用,还做了很多改造。内部我们不叫ganglia,都称它为“裂DennyYe四月1,201111:29上 开启这种MemToMemmerge模式是将mapreduce.reduce.merge.memtomem.enabled设置为true。当 ment1(第14/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台0.99,最大化地利用端的内存来做。最后在做过一些内存间的后,你希望有多少内存来存储的输入数据?a..i..et,这个比例设置高些,这个数据设置的越在我的测试例子中,端的所有处理都是在内存中发生,没有往磁盘写一点数据。流程从最初的接近8分钟减少到2分钟,这2分钟基本就是在拉取数据,内存中是很快的。因为我测试的初衷是尽量让磁盘读写不要成为瓶颈。对于performancetuningDennyYe四月1,201111:31上还有一个问题。我不清楚你的这些分析是基于Hadoop灵活,很多时间没有将map与reduce的执行分开对待。只是个人感觉guili四月1,20113:47下@Denny ment1(第15/27页)[2012/9/4hadoop作业调优参数整理及原理-阿里数据平台 HadoopMapReduce|LifeYun九月17,20111:12下[...]10.05pt;mso-layout-grid-align:none;text-autospace:none">1TB排序MapReducehadoop的源码析hadoop的源码分析HadoopMapReduce优化TuningHadoopbabyyellow十一月22,20114:13下arkilis十一月30,20118:25上请教一下,这个copy是什么,从哪里到哪里 ment1(第16/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台jijiannan十二月5,201110:12上小e | 不如 »MapReduce优化(一)说道二月11,201211:36下...]这篇博文主要是解决上一篇<迭代式aRedce解决方案(一)>中总结所提到的第三个问题,与网上大多数aoop调优(<董的博客、<淘宝数据平台)不太一样,网上告诉的是方法,但是方法是什么以及优化后能达到什么效果没有一个直观的感受。这篇博文讲述了一些简单的优化 ,可将140M的临时文件缩小到4.9,期望能有一些对优化一些更为直观的感受,起到抛砖引玉的作。...]遥方七月16,201210:17下 Jobnotsuccessful.Error:#offailedMapTasksexceededallowed ment1(第17/27页)[2012/9/4hadoop作业调优参数整理及原理-阿 数据平台Niko7八月20,20128:54 八月26,20123:25action呢。那本书比较好,还是直接看

Leave

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论