HADOOP作业启动性能优化实践
本文选题:Hadoop + Split ; 参考:《北京交通大学》2012年硕士论文
【摘要】:本论文阐述了本人在百度公司分布式计算小组工作过程中做过的一个优化HADOOP作业提交时间的项目。这个项目的重点在于优化在作业提交时split过程占用的时间和消耗的内存,这是作业提交过程中最耗时的一步,也是作业提交前的所有准备工作中最重要的一步,因为它直接关系到输入数据如何分片,即最终决定了这个作业具有的map任务数量,以及每一个map任务处理多少数据量,每个map任务优先给哪一个节点的TaskTracker来处理。在百度公司以前的HADOOP版本,以及目前社区的HADOOP版本中,一直以来都没有对split这个过程进行过的大的修改或者优化,随着百度公司的HADOOP集群规模的扩大,大作业数量的增加,单个作业需要输入的数据量越来越大,文件数量也越来也多,从而导致在提交作业之前,对这些输入数据进行split过程暴露出了内存占用大,耗时长的问题,这两个问题已经严重影响到百度HADOOP集群对于大作业的处理效率,并引起了使用百度HADOOP集群的百度数据挖掘,日志分析等部门用户的不满,因此,为了提高集群的处理效率,改善用户体验,必须要对split这一过程进行优化。 本人独立完成对split过程的优化工作可以分为四个部分,分别是获取blockLocations优化,ls过程输入路径正则表达式中间匹配到文件的优化,getSplits占用内存过高优化和将getSplit过程移植到TaskTracker优化。这四部分优化分别加速了获取blockLocation信息的速度,对于遍历路径操作在中间层匹配到文件这种情况进行了加速优化,对split内存优化使得split整个过程中占用内存大幅下降,并且可以使内存占用不依赖作业的输入数据量,而是依赖于用户指定的参数。将整个split过程从客户端移植到TaskTracker上可以释放客户端的压力,并且利用同集群间网络传输的优势来进一步节省split过程的耗时。 经过本人对split的优化,这一项目已经成功上线了百度公司HADOOP集群,并且达到了非常理想的效果。大作业的提交时间从小时级缩短到了分钟级,平均split过程速度提升了30-60倍,且整个split过程内存可以稳定控制在200mb左右,相比之前随着作业输入数据量而不断膨胀的内存使用量甚至可以达到3G以上,内存的节省是巨大的。最终这个项目赢得了部门同事和用户方的好评。
[Abstract]:This paper describes a project that I have done in the distributed computing group of Baidu Company to optimize the submission time of HADOOP jobs. This project focuses on optimizing the amount of time and memory consumed by the split process when the job is submitted, which is the most time-consuming step in the job submission process and the most important step in all preparations before the job is submitted. Because it is directly related to how the input data is partitioned, that is to say, it ultimately determines the number of map tasks that the job has, the amount of data handled by each map task, and the TaskTracker of which node is given priority for each map task. In the previous HADOOP version of Baidu, and in the current HADOOP version of the community, there has been no major modification or optimization of the split process. With the expansion of the scale of Baidu's HADOOP cluster, the number of large operations has increased. The amount of data needed to be input by a single job is increasing, and the number of files is also increasing. Therefore, before submitting a job, the split process for these input data exposes the problems of large memory consumption and long time consuming. These two problems have seriously affected the processing efficiency of Baidu HADOOP cluster for large jobs, and caused dissatisfaction of Baidu data mining, log analysis and other departments using Baidu HADOOP cluster. Therefore, in order to improve the processing efficiency of the cluster, To improve the user experience, the split process must be optimized. I can divide the optimization work of split process into four parts, namely, get the optimization of blockLocations optimization process input path regular expression matching to the file, and optimize the getSplit procedure to TaskTracker optimization by taking up too much memory. These four parts of optimization accelerate the speed of obtaining blockLocation information respectively. The traversal path operation matches to the file in the middle layer, and the split memory optimization greatly reduces the memory occupied in the whole process of split. Moreover, the memory can be used not by the input data of the job, but by the parameters specified by the user. Transplanting the whole split process from the client to the TaskTracker can release the pressure of the client and further save the time consuming of the split process by taking advantage of the network transmission with the cluster. After my split optimization, this project has been successfully launched Baidu HADOOP cluster, and achieved a very satisfactory effect. The submission time of the large job is shortened from the hour level to the minute level, the average speed of the split process is increased 30-60 times, and the memory of the whole split process can be steadily controlled in the 200mb. Compared with the previous expansion of memory usage over 3G with job input data, memory savings are significant. In the end, the project won high praise from departmental colleagues and users.
【学位授予单位】:北京交通大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP338.8
【相似文献】
相关期刊论文 前10条
1 刁志坚;丁娟;万里勇;;浅谈Oracle数据库性能调优[J];科技广场;2007年11期
2 范孝良,国秀丽;企业实施ERP应注重数据库的性能优化[J];机械工程与自动化;2005年05期
3 王卫华;;点燃DDR2 DDR2内存优化指南[J];电脑迷;2007年21期
4 ;Windows XP系统内存优化指南[J];电脑;2003年01期
5 湛大骏;关于多媒体电脑的内存优化问题[J];软件世界;1996年04期
6 王娜,纪震,贾传荧,李霞;基于内存优化和启发式深度优先搜索的小波零树图像编码算法[J];电子学报;2005年03期
7 黄贤英,盛利;综合查询应用性能提升的策略[J];计算机工程与应用;2003年15期
8 小新;让爱机更飚一个档次 内存优化软件之面面观[J];大众硬件;2003年01期
9 朱克勤;数据库系统性能优化方法[J];警察技术;2004年06期
10 李泽平;SQL查询语句的性能优化与索引[J];福建电脑;2005年09期
相关会议论文 前10条
1 方奇;袁茂森;刘志强;;三聚吲哚化合物的选位异构及双光子性能优化:长程与短程电荷转移[A];全国第八届有机固体电子过程暨华人有机光电功能材料学术讨论会摘要集[C];2010年
2 陈建松;;IBM大型机应用系统性能优化[A];中国计量协会冶金分会2011年会论文集[C];2011年
3 曹燕;;ORACLE数据库系统的性能优化[A];数据库技术在气象领域的应用学术会议论文集[C];2001年
4 高明星;;DB2数据库应用性能优化问题浅谈[A];科技、工程与经济社会协调发展——中国科协第五届青年学术年会论文集[C];2004年
5 李昱;;DB2 SQL性能优化准则在武钢物流管理系统中的实践[A];中国计量协会冶金分会2011年会论文集[C];2011年
6 高俊;;浅谈企业内部局域网的维护[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
7 冯立;王良勇;钱晓龙;;冗余控制系统的原理及性能优化[A];中国仪器仪表学会第五届青年学术会议论文集[C];2003年
8 冯春燕;张晨;周继成;丁炜;;基于多协议标记交换MPLS的因特网流量工程[A];中国航空学会信号与信息处理专业全国第八届学术会议论文集[C];2004年
9 杝正士;徐冿杴;杝f蒧7;櫖曋;;直流磁控反应溅镀NiCr-CN薄膜性能研究[A];第六届华东三省一市真空学术交流会论文集[C];2009年
10 李周华;严毅;;软件设计中的性能优化与内存管理[A];广西计算机学会2004年学术年会论文集[C];2004年
相关重要报纸文章 前10条
1 本期嘉宾:刘晖(微软MVP) 赵聪(接触电脑6年的用户);我们需要内存优化软件吗?[N];电脑报;2005年
2 安徽 方汗;内存优化利器[N];电脑报;2001年
3 江苏 李兵;内存优化好助手SuperRam[N];电脑报;2004年
4 ;内存优化专家Optix[N];中国电脑教育报;2000年
5 孙定;云计算、大数据与Hadoop[N];计算机世界;2011年
6 王书琴;把内存优化到最佳[N];中国电脑教育报;2004年
7 陈翔;性能优化只能救火[N];中国计算机报;2007年
8 Poison;nForce主板内存优化设置[N];中国计算机报;2002年
9 奥创利高级开发工程师 Robert A. Aekins 奥创利高级产品经理 Gregg Lafontaine;六类系统性能优化“秘笈”[N];计算机世界;2002年
10 王志军;更大、更快、更强[N];电脑报;2001年
相关博士学位论文 前10条
1 张雷;嵌入式系统性能优化若干问题研究[D];电子科技大学;2010年
2 何倩;P2P系统性能优化若干关键技术研究[D];北京邮电大学;2010年
3 吴长泽;数据网格中高可用性副本管理及性能优化研究[D];重庆大学;2007年
4 吴钊;保证服务质量的动态Web服务组合及其性能分析研究[D];武汉大学;2007年
5 朱正林;电站辅机及辅机系统性能优化[D];东南大学;2005年
6 张国义;水科学应用网格的若干关键技术研究[D];中国科学技术大学;2007年
7 李衍杰;扩展Markov决策过程的性能灵敏度分析与优化[D];中国科学技术大学;2006年
8 宁静红;R290/CO_2自然工质复叠式制冷循环系统的理论分析与实验研究[D];天津大学;2007年
9 鲍秉坤;基于梯度逼近方法的Markov系统及其在通信中的应用[D];中国科学技术大学;2009年
10 张颖星;面向复杂系统应用的并行离散事件仿真性能优化技术研究[D];国防科学技术大学;2011年
相关硕士学位论文 前10条
1 王谦;HADOOP作业启动性能优化实践[D];北京交通大学;2012年
2 林树新;SmartOSEK的系统设计和时间性能优化[D];浙江大学;2005年
3 熊远生;网络控制系统的滑模预估变结构控制器设计及性能优化[D];浙江工业大学;2004年
4 徐慧君;基于JSP平台的信息发布系统的设计与实现[D];北京工业大学;2004年
5 吕栗;邮件过滤系统中数据库的性能优化[D];哈尔滨工程大学;2005年
6 石鹏飞;J2EE企业门户网站技术研究[D];浙江大学;2006年
7 陆琳琳;MD5算法的技术研究及性能优化[D];吉林大学;2006年
8 徐永军;基于视频压缩新标准H.264的软件编码器及其性能优化的研究[D];山东大学;2005年
9 梁海波;R6160ZC柴油机增压系统优化设计[D];山东大学;2005年
10 宋龙甫;B231柴油机降低排放及性能优化的研究[D];清华大学;2005年
,本文编号:1805609
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1805609.html