一种基于虚拟存储盘的Hadoop架构及调度策略制造技术

技术编号:15746160 阅读:97 留言:0更新日期:2017-07-03 00:52
本发明专利技术涉及一种基于虚拟存储盘的Hadoop架构及调度策略,所述Hadoop架构中的节点具有虚拟存储盘和磁盘;将节点上map和/或reduce任务对应缓存的溢出数据存储于虚拟存储盘,仅当虚拟存储盘已存储的数据达到虚拟存储盘的门限时,才将溢出数据存储于磁盘;虚拟存储盘的访问速度比磁盘高几个数量级,使用虚拟存储盘会让Hadoop更快的读取数据;且使用虚拟存储盘来存储节点上map和/或reduce任务对应缓存的溢出数据,Hadoop为map和reduce任务配置的缓存依然存在,配置参数不需重新设定;另,虚拟存储盘具有磁盘的读写等功能,可有效避免Hadoop应用代码的修改。

A Hadoop architecture and scheduling strategy based on virtual memory disk

The invention relates to a virtual disk Hadoop architecture and scheduling strategy based on the node of the Hadoop architecture of virtual memory disk and disk; the node map and / or reduce task corresponding to cache overflow data stored in the virtual disk, only when the virtual memory disk stored data to virtual memory disk the threshold, it will overflow data stored in the virtual disk; disk access speed several orders of magnitude higher than the disk, the use of virtual memory disk will make Hadoop faster read data; and the use of virtual memory overflow data storage node map and / or reduce tasks corresponding to cache disk to Hadoop, map and reduce task. The cache configuration still exists, configuration parameters without re setting; the other, virtual storage disk with the disk read and write function, which can effectively prevent the Hadoop application code changes.

【技术实现步骤摘要】
一种基于虚拟存储盘的Hadoop架构及调度策略
本专利技术涉及Hadoop数据密集型任务下的优化
,特别涉及一种基于虚拟存储盘的Hadoop架构及调度策略。
技术介绍
Hadoop是一个大数据领域非常成功的框架,被广泛应用在工业和学术上。它采用先进的map/reduce思想,通过将大规模的数据拆分成大量的小的块,然后分发给集群中的各个节点,让每个节点来处理自己负责的区块的内容。通过这种方式以让单台计算机难以完成的任务可以通过多台计算机来完成。然而,现有的Hadoop在处理数据密集型应用的时会存在以下问题:现有的Hadoop处理通过缓存来存储中间数据,如果缓存不足,缓存的溢出数据将会被存储于磁盘。具体过程为:执行map任务时,如果map任务对应的缓存不足时,缓存的溢出数据将存储于map任务所在节点的磁盘,待map任务执行完毕,map任务存储于缓存和磁盘的输出数据将聚合存储于磁盘供reduce任务调用;如果map任务对应的缓存充足时,待map任务执行完毕,map任务存储于缓存的输出数据将转移存储于磁盘供reduce任务调用;故,无论如何改变map任务对应的缓存的大小,在map任务执行完毕后均会有大量的数据分发到磁盘,导致数据的下一步读取过慢而影响整体性能。在所有map任务执行完毕,reduce任务所在的节点会复制来自map任务的输出数据,此输出数据将优先存储于reduce任务对应的缓存中,如果缓存不足,缓存的溢出数据将会被存储于reduce任务所在节点的磁盘,待复制完毕后,复制存储于缓存和磁盘的map任务的输出数据将聚合存储于磁盘供执行reduce任务使用;故,又将会有大量的数据分发到磁盘,导致数据的下一步读取过慢而影响整体性能。
技术实现思路
本专利技术目的是提供一种基于虚拟存储盘的Hadoop架构及调度策略,解决现有技术中存在的上述问题。本专利技术解决上述技术问题的技术方案如下:一种基于虚拟存储盘的Hadoop架构,所述Hadoop架构中的节点具有虚拟存储盘和磁盘;所述虚拟存储盘,其用于存储所述节点上map和/或reduce任务对应缓存的溢出数据;所述磁盘,其用于当所述虚拟存储盘已存储的数据达到所述虚拟存储盘的门限时,存储所述溢出数据。本专利技术的有益效果是:引入虚拟存储盘,将节点上map和/或reduce任务对应缓存的溢出数据存储于虚拟存储盘,仅当虚拟存储盘已存储的数据达到虚拟存储盘的门限时,才将溢出数据存储于磁盘;虚拟存储盘的访问速度比磁盘高几个数量级,使用虚拟存储盘会让Hadoop更快的读取数据;且使用虚拟存储盘来存储节点上map和/或reduce任务对应缓存的溢出数据,Hadoop为map和reduce任务配置的缓存依然存在,配置参数不需重新设定;另,虚拟存储盘具有磁盘的读写等功能,可有效避免Hadoop应用代码的修改。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述虚拟存储盘配置有tmpfs文件系统。采用上述进一步方案的有益效果是:tmpfs文件系统可以简化虚拟存储盘的操作,让每次启动可以直接使用虚拟存储盘,而不需要再次进行挂载。进一步,所述虚拟存储盘未达到所述门限的区域划分有用于存储Hadoop输入输出数据的空间。采用上述进一步方案的有益效果是:将Hadoop输入输出数据存储于虚拟存储盘,提高Hadoop输入输出数据的读取速度。进一步,所述门限包括第一门限和第二门限,所述第一门限低于所述第二门限。本专利技术的另一技术方案如下:一种基于虚拟存储盘的Hadoop调度策略,采用上述一种基于虚拟存储盘的Hadoop架构;将所述节点上map和/或reduce任务对应缓存的溢出数据存储于所述虚拟存储盘,且当所述虚拟存储盘已存储的数据达到所述虚拟存储盘的门限时,将所述溢出数据存储于所述磁盘。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述虚拟存储盘未达到所述门限的区域划分有用于存储Hadoop输入输出数据的空间;将Hadoop输入输出数据存储于所述空间。进一步,所述门限包括第一门限和第二门限,所述第一门限低于所述第二门限;当所述节点上map或reduce任务对应缓存产生溢出数据时,进行如下操作:步骤1,判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第一门限;是,则执行步骤2;否,则执行步骤7;步骤2,判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第二门限;是,则执行步骤3;否,则执行步骤6;步骤3,将所述虚拟存储盘已存储的执行完毕时刻最接近当前时刻的map或reduce任务对应缓存产生的溢出数据转移到所述磁盘;步骤4,再次判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第二门限;是,则返回执行步骤3,否,则执行步骤5;步骤5,再次判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第一门限;是,则执行步骤6,否则执行步骤7;步骤6,判断所述虚拟存储盘是否存储有所述map或reduce任务对应缓存产生的溢出数据;是,则执行步骤7;否,则将所述溢出数据存储于所述磁盘,并结束所述操作;步骤7,将所述溢出数据存储于所述虚拟存储盘,并结束所述操作。采用上述进一步方案的有益效果是:提高了溢出数据在虚拟存储盘的存储时间,进一步提高了数据分发效率,且不会造成数据的丢失。进一步,所述步骤3包括如下步骤:步骤31,判断所述虚拟存储盘是否存储有执行完毕的reduce任务对应缓存产生的溢出数据;是,则执行步骤32;否,则执行步骤33;步骤32,将所述虚拟存储盘已存储的执行完毕时刻最接近当前时刻的reduce任务对应缓存产生的溢出数据转移到所述磁盘,并执行步骤4;步骤33,将所述虚拟存储盘已存储的执行完毕时刻最接近当前时刻的map任务对应缓存产生的溢出数据转移到所述磁盘,并执行步骤4。进一步,所述节点包括主节点和从节点;当从守护程序发现任一从节点空闲时,所述从守护程序将任务请求发送至所述任一从节点对应的主节点,所述主节点的主守护程序查询所述任一从节点上是否存在已执行但未执行完毕的map或reduce任务;是,则将所述已执行但未执行完毕的map或reduce任务分配给所述任一从节点执行;否,则查询所述任一从节点上是否存在未执行的map或reduce任务;是,则将所述未执行的map或reduce任务分配给所述任一从节点执行;否,则将待执行任务列表中排序最前的map或reduce任务分配给所述任一从节点执行。采用上述进一步方案的有益效果是:提高了map或reduce任务的数据局部性。进一步,所述节点包括主节点和从节点;当任一从节点上的reduce任务执行失败时;所述任一从节点对应的主节点的主守护程序,调用所述reduce任务对应的map任务所在的从节点,将所述map任务的输出数据再次发送至所述任一从节点;如果所述调用失败,所述主守护程序将所述map任务分配给所述map任务所在的从节点以外的其它从节点重新执行。采用上述进一步方案的有益效果是:保证了Hadoop稳定性。附图说明图1为本专利技术一种基于虚拟存储盘的Hadoop架构中节点的结构框图;图2为本专利技术一种基于虚拟存储盘的Hadoop调度策略的流程图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本本文档来自技高网
...
一种基于虚拟存储盘的Hadoop架构及调度策略

【技术保护点】
一种基于虚拟存储盘的Hadoop架构,其特征在于,所述Hadoop架构中的节点具有虚拟存储盘和磁盘;所述虚拟存储盘,其用于存储所述节点上map和/或reduce任务对应缓存的溢出数据;所述磁盘,其用于当所述虚拟存储盘已存储的数据达到所述虚拟存储盘的门限时,存储所述溢出数据。

【技术特征摘要】
1.一种基于虚拟存储盘的Hadoop架构,其特征在于,所述Hadoop架构中的节点具有虚拟存储盘和磁盘;所述虚拟存储盘,其用于存储所述节点上map和/或reduce任务对应缓存的溢出数据;所述磁盘,其用于当所述虚拟存储盘已存储的数据达到所述虚拟存储盘的门限时,存储所述溢出数据。2.根据权利要求1所述一种基于虚拟存储盘的Hadoop架构,其特征在于,所述虚拟存储盘配置有tmpfs文件系统。3.根据权利要求1所述一种基于虚拟存储盘的Hadoop架构,其特征在于,所述虚拟存储盘未达到所述门限的区域划分有用于存储Hadoop输入输出数据的空间。4.根据权利要求1至3中任一项所述一种基于虚拟存储盘的Hadoop架构,其特征在于,所述门限包括第一门限和第二门限,所述第一门限低于所述第二门限。5.一种基于虚拟存储盘的Hadoop调度策略,其特征在于,采用权利要求1至2中任一项所述一种基于虚拟存储盘的Hadoop架构;将所述节点上map和/或reduce任务对应缓存的溢出数据存储于所述虚拟存储盘,且当所述虚拟存储盘已存储的数据达到所述虚拟存储盘的门限时,将所述溢出数据存储于所述磁盘。6.根据权利要求5所述一种基于虚拟存储盘的Hadoop调度策略,其特征在于,所述虚拟存储盘未达到所述门限的区域划分有用于存储Hadoop输入输出数据的空间;将Hadoop输入输出数据存储于所述空间。7.根据权利要求5所述一种基于虚拟存储盘的Hadoop调度策略,其特征在于,所述门限包括第一门限和第二门限,所述第一门限低于所述第二门限;当所述节点上map或reduce任务对应缓存产生溢出数据时,进行如下操作:步骤1,判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第一门限;是,则执行步骤2;否,则执行步骤7;步骤2,判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第二门限;是,则执行步骤3;否,则执行步骤6;步骤3,将所述虚拟存储盘已存储的执行完毕时刻最接近当前时刻的map或reduce任务对应缓存产生的溢出数据转移到所述磁盘;步骤4,再次判断所述虚拟存储盘已存储的数据是否达到所述虚拟存储盘的第二门限;是,则返回执行步骤3,否,则执行...

【专利技术属性】
技术研发人员:彭凯王靖静桂宾马威
申请(专利权)人:武汉盛信鸿通科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1