[发明专利]一种在线配置Hadoop参数的方法和装置有效
申请号: | 201310672010.5 | 申请日: | 2013-12-10 |
公开(公告)号: | CN103701635B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 贝振东;喻之斌;曾经纬;张慧玲;须成忠 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 深圳中一专利商标事务所44237 | 代理人: | 张全文 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 在线 配置 hadoop 参数 方法 装置 | ||
技术领域
本发明涉及云计算领域,具体涉及一种在线配置Hadoop参数的方法和装置。
背景技术
Hadoop是Apache开源组织的一个分布式计算开源框架,被设计用来在由通用计算设备组成的大型集群上执行分布式应用。基于Java语言构建的Hadoop框架实际上是一种分布式处理大数据的平台,在近十年中,Hadoop已成为大数据革命的中心。
然而,Hadoop目前有多达190个配置参数,其中,大约有20个参数对Hadoop应用程序的效率有显著的影响。通过调整这些参数,可以进行四个方面的性能调优:CPU、内存、磁盘I/O和网络进行优化。例如,能影响磁盘I/O和CPU相关的参数包括mapred.compress.map.output、mapred.output.compress和mapred.map.output.compression.codec。这些参数用于控制是否对输出进行压缩,其中,mapred.compress.map.output用于map输出压缩,mapred.output.compress用于作业输出压缩,而mapred.map.output.compression.codec是压缩采用的压缩编解码器。除了默认的编解码器,用户也可以提供其他的压缩编解码器。这些选项在默认情况下都是禁用的。一方面,启用输出压缩可以加快磁盘写操作,减少数据传输的总时间(在shuffle阶段和HDFS写阶段都包括了磁盘IO资源和网络资源的使用),另一方面,压缩/解压过程会增加CPU资源的开销。与内存使用相关的参数包括参数io.sort.mb和参数mapred.job.shuffle.input.buffer.percent,其中,io.sort.mb设置用于map端排序的缓冲区大小,单位是MB,默认值是100。这个值越大,溢出到磁盘就越少,因此会减少map端的I/O时间,而增加这个值会导致每个map任务需要的内存增加。Reduce在shuffle阶段对下载来的map数据,并不是立刻就写入磁盘的,而是会先缓存在内存中,然后当使用内存达到一定量的时候才刷入磁盘。这个内存大小的控制就不像map一样可以通过io.sort.mb来设定了,而是通过参数mapred.job.shuffle.input.buffer.percent(默认值是0.7)来设置。mapred.job.shuffle.input.buffer.percent参数是一个百分比,表示shuffile在reduce内存中的数据最多使用内存量的百分比。默认情况下,reduce会使用其堆内存的70%来在内存中缓存数据。该参数的设置大小同样也会影响到磁盘溢出的大小,设置合理可以使得磁盘I/O的使用和内存的使用相对平衡。
虽然Hadoop对这些参数提供了默认的配置值,但是使用默认的配置并不能很好地适应变化的工作负载,从而导致Hadoop集群性能地衰减,因此需要用户通过设置配置文件mapred-site.xml中的一些参数来实现集群设置和调优。然而,由于参数的配置空间巨大,即使用户经验丰富,也不能很好地权衡CPU与I/O资源的使用,这就很容易产生出错的配置。鉴于此,现有技术提出了采用基于代价的方法对Hadoop/MapReduce的性能进行数学上的建模,实现对配置不同参数条件下的系统性能的预测。基于该模型采用递归的随机搜索算法自动地在参数空间中搜索最优的参数配置,实现了参数的自动配置过程。
上述现有技术提供的方法都是在Hadoop/MapReduce的离线状态下实施配置过程的,作业在Hadoop/MapReduce上运行时,这些配置不会发生改变。然而,对于连续运行的作业序列和数据计算分布不均匀的作业,这种配置方式将不再适应。首先,连续运行的作业序列在运行过程中,其配置需要根据不同的作业类型进行调整,因为不同的作业类型使用的CPU和I/O资源有可能不一样,固定的一种配置不再适应不同作业类型构成的序列。其次,对于数据计算分布不均匀的作业,这种作业输入的数据量大,处理这些数据的不同部分耗费的CPU资源是不一样的,当数据处理耗费的资源发生变化时就有必要调整Hadoop/MapReduce的参数配置以适应新的情况,使得作业完成的时间达到最优。
发明内容
本发明实施例提供一种在线配置Hadoop参数的方法和装置,以针对连续运行的作业序列或数据计算分布不均匀的作业,将其运行调整至资源使用的平衡状态,实现系统运行的性能最优。
本发明实施例提供一种在线配置Hadoop参数的方法,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310672010.5/2.html,转载请声明来源钻瓜专利网。