Hadoop异构集群中的数据分配策略的制作方法

文档序号:6596002阅读:688来源:国知局
专利名称:Hadoop异构集群中的数据分配策略的制作方法
技术领域
本发明涉及高性能集群领域的数据分配策略,尤其是一种Hadoop异构集群中基于节点计算能力、网络传输能力和节点负载能力等多性能因素综合考虑的数据分配策略。
背景技术
Hadoop是一个能够对大量数据进行分布式处理的软件框架,其高可靠性、高扩展性、高效性和高容错性使其在商业和研究领域受到了广泛的关注。Hadoop包括两个相对独立的子系统:分布式并行计算系统MapReduce由JobTrackers和TaskTrackers组成;分布式存储系统HDFS存储Hadoop集群中所有存储节点上的文件。在执行MapReduce任务时需要获取HDFS上相应的数据块进行处理,而为了提高系统的可靠性和可用性,系统默认为每个数据块存放3个副本。当Hadoop的机架感知未启用时HDFS选择机器时是随机的,有可能在将第一个数据块副本写到机架1,第二个数据块副本写到机架2后,又将第三个数据块副本重新写回到机架1,此时,两个机架间产生两次数据流量。在Hadoop推送的数据量非常大的情况下会导致机架间的网络流量成倍增长,出现性能瓶颈,影响机架甚至整个集群的性能。当启用机架感知以后,HDFS在选择机器时会进行判断:在上传机器上写入第一个数据块副本,在上传机器所属的机架上随机选择一台机器写入第二个数据块副本,第三个数据块副本存放在另一个远端机架的任意一个机器上。这样的策略可以保证对该数据块所属文件的访问能够优先在本机架下找到,如果该机架发生了异常或者执行缓慢,也可以在另外的机架上找到该数据块的副本进行恢复或者数据迁移。该策略采用的随机选择节点的方法没有考虑节点异构导致的执行能力的差异,还可能由于远端机架的传输速度过慢导致增加数据的恢复或迁移时间,同时无法保证各节点间的负载平衡。围绕上述问题,目前已经开展了许多研究 工作,经对现有技术文档的检索发现,部分现有的策略是从执行能力方面考虑,这些策略通过对节点处理的数据块大小进行设置,以缩小性能差异的机器对同种任务的执行时间差;也有从保证系统负载平衡方面考虑的,这些策略能够在一定条件下提高系统的吞吐量。但这些策略未充分考虑异构集群中各节点的固有能力测差异,如线程切换能力、节点存储能力等,导致对于数据分配问题考虑不够全面,不能很好的保证网络的稳定性。其他的方法还有对网络传输方面的考虑,但是其网络距离采取的是拓扑结构中各节点到最近公共祖先的距离和进行估算,在实际应用的不同网络带宽中,该估算具有极大的局限性,参考价值不足。

发明内容
有鉴于此,本发明的目的是提供一种Hadoop异构集群中的数据分配策略。本发明采用以下方案实现:一种Hadoop异构集群中的数据分配策略,其特征在于,包括以下步骤:SOl:测试并存储各节点处理不同规模数据的执行时间,并转换为静态性能参考指标;
S02:监控并存储各节点的存储负载和各节点间的网络传输速度,并转换为动态性能参考指标;S03:根据预先设置的各性能因素的权重,利用计算模块计算出各节点应分配的数据块数目,并通过数据分配服务器进行数据块-节点的映射和实施分配传输。在本发明一实施例中,所述步骤SOl具体为:Sll:在每个节点上分别使用不同规模的数据块进行作业测试,并取其执行时间的加权平均值作为各节点的参考执行时间;S12:利用参考执行时间与执行速率成反比的关系,计算出各节点的执行速率;S13:分别计算各节点的执行速率占整个集群所有节点的执行速率之和的比例,作为静态性能参考指标。在本发明一实施例中,所述静态性能参考指标的计算公式为,
权利要求
1.一种Hadoop异构集群中的数据分配策略,其特征在于,包括以下步骤: 501:测试并存储各节点处理不同规模数据的执行时间,并转换为静态性能参考指标; 502:监控并存储各节点的存储负载和各节点间的网络传输速度,并转换为动态性能参考指标; S03:根据预先设置的各性能因素的权重,利用计算模块计算出各节点应分配的数据块数目,并通过数据分配服务器进行数据块-节点的映射和实施分配传输。
2.根据权利要求1所述的Hadoop异构集群中的数据分配策略,其特征在于,所述步骤SOl具体为: 511:在每个节点上分别使用不同规模的数据块进行作业测试,并取其执行时间的加权平均值作为各节点的参考执行时间; 512:利用参考执行时间与执行速率成反比的关系,计算出各节点的执行速率; S13:分别计算各节点的执行速率占整个集群所有节点的执行速率之和的比例,作为静态性能参考指标。
3.根据权利要求2所述的Hadoop异构集群中的数据分配策略,其特征在 于:所述静态性能参考指标的i十算:公式为,
4.根据权利要求1所述的Hadoop异构集群中的数据分配策略,其特征在于:所述动态性能参考指标包括各节点间的网络传输速率指标和各节点的负载处理能力指标,所述各节点间的网络传输速率指标是当前数据上传的节点与某节点的网络传输速率占当前数据上传的节点与集群中其他所有节点的网络传输速率之和的比例;所述各节点的负载处理能力指标是当前数据上传的节点的负载处理能力占整个集群中所有节点的负载处理能力之和的比例。
5.根据权利要求4所述的Hadoop异构集群中的数据分配策略,其特征在 于:所述动态性能参考指标的计算公式为,
6.根据权利要求1所述的Hadoop异构集群中的数据分配策略,其特征在于:所述计算模块利用以下公式
7.根据权利要求6所述的Hadoop异构集群中的数据分配策略,其特征在于:所述1_中若存在负值,则将计算出Xmn为负值的节点剔除,并重新进行分配计算,直至Xnm均为正数。
全文摘要
本发明涉及一种Hadoop异构集群中的数据分配策略,其特征在于,包括以下步骤S01测试并存储各节点处理不同规模数据的执行时间,并转换为静态性能参考指标;S02监控并存储各节点的存储负载和各节点间的网络传输速度,并转换为动态性能参考指标;S03根据预先设置的各性能因素的权重,利用计算模块计算出各节点应分配的数据块数目,并通过数据分配服务器进行数据块-节点的映射和实施分配传输。本发明通过对静、动态性能参考指标各性能因素的灵活配置,可以增强数据分配策略的适应性,保证数据分配策略的有效性,能够有效的提高数据局部性、减少作业响应时间和网络传输,增强系统的负载稳定性,优化了集群资源。
文档编号G06F9/50GK103218233SQ20131016838
公开日2013年7月24日 申请日期2013年5月9日 优先权日2013年5月9日
发明者郭文忠, 陈国龙, 林常航 申请人:福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1