APP下载

基于Hadoop智能冗余服务的实现

2015-04-16杨甫恒刘智超

电脑与电信 2015年7期
关键词:热点活性节点

杨甫恒 刘智超 夏 磊

(成都理工大学信息科学与技术学院,四川 成都 610041)

1 课题研究背景

智能冗余服务方案研究主要针对数据爆炸式增长,解决数据活性不断变化的问题。当访问量增长时,被访问数据智能备份到各个服务器,提供更大的访问空间,当访问量缩小时,资源自动收缩,以节省企业在各种资源上的开销。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

1.1 数据服务资源特点

企业通过虚拟化来整合服务,提高资源利用率。根据虚拟化厂商数据评价一台传统服务器的资源利用率只有15%到20%,虚拟化和资源池的方式部署使硬件资源利用具有可伸缩性。但另一方面,随着服务数据的活性不断变化,一些必须服务却得不到足够的资源支持。

1.2 数据特点

社交网络、基于地理信息的应用产生大量数据,这其中大部分是非结构化数据。在商业应用中越来越重视社交网络产生的海量数据的价值,对这些数据进行分类、存储、挖掘将是一个重要的商业主题。同时,可以预见的是大部分数据将和地理信息产生越来越紧密的联系,对这些数据的分析可以更好地作出商业决策、舆论预测及导向。

数据活性权值不断变化,在网络中的海量数据并不具有一样的活性,部分数据可能被大量索引和使用,另一部分数据可能鲜有人问津。但可能由于社交网络的关注热点变化或者地理位置不同等原因导致数据活性不断调整或者数据在不同地域具有不同活性,这种情况下,需要该数据能迅速分发或者从各个服务器中收缩,以满足需要。

目前大部分解决方案集中在负载均衡研究上,负载均衡可以很好地解决网络拥塞问题,给用户提供更好的访问质量,同时提高了服务器的响应速度。但是面对海量数据服务,大计算量服务则难以合理分配资源。

面对地理信息服务、社交网络信息服务等需要大量存储资源的服务,一个访问请求可能需要检索大量数据并需要极大的计算能力,同时根据各种现实因素(例如灾难天气、交通状况、社会关注热点)检索热点数据将不断发生变化(例如灾难天气情况发生,将有大量功能针对灾难发生地区的信息检索;社交网络中出现新的社会热点也将促使更多相关信息的访问),因此需要做到被访问数据和服务的自动扩展和收缩。

2 方案设计

2.1 数据存储方案

该数据存储方案基于Hadoop平台上HDFS文件系统,该文件系统将文件分为多个块(Block)分布到集群中存储,并且结构上分为元数据节点(NameNode)和数据节点(DataNode)。其中元数据节点用来管理文件系统,维护数据节点(DataNode)中数据的分布结构。并将系统中所有文件和文件夹保存在树形结构中。NameNode管理全块的数据复制,通过和每个DataNode的心跳连接,动态同步获取各个节点的状态报告,如无心跳信号,视为节点故障报警或做其它处理。块状态报告包含了该节点上所有数据块信息:Namenode(Filename,numReplicas,block-ids,…)

图1 Hadoop模型

图2 Hadoop数据存储示例

/hadoop/data/block1,r∶2,{1,3}…

/hadoop/data/block2,r∶2,{2,4}…

/hadoop/data/block3,r∶2,{1,2}…

/hadoop/data/block4,r∶2,{3,4}…

Hadoop将数据块存放在3个节点,数据块的存放是保证HDFS可靠性和高性能读取和存储的关键。Hadoop存储算法中采取rack-aware机制,该机制认为:一个hadoop集群存在于多个机架的硬件设备。不同机架间数据需要通过交换机交换数据,同时认为同一个机架或者同一机房内的机器间网络状态优于相异机架或者异地机房。

我们的设计方案是基于上图,并添加MasterNode,通过相应算法来确定数据热点,自动更新MasterList,从而调整DataNode上的数据存储情况。结构如图3:

图3 基于Hadoop智能冗余服务解决方案

2.2 智能服务算法

在该方案设计中包括了资源初始化、扩展和收缩3个步骤。

2.2.1 资源初始化算法实现

(1)资源上传者上传资源。

(2)通过文本挖掘热点聚合算法对资源进行收敛,获取到相关资源的关键属性。

(3)将资源文件文件属性标志为(key,keyword,value),其中key作为资源服务块编号,keword作为关键词组,value作为内容。将内容分类后采用maprduce分发数据到第一个DataNode节点,并在DataNode节点维护一张资源存储列表。

(4)DataNode中遍历资源存储列表,将该资源分发到列表中的所有DataNode。

(5)所有DataNode收到资源后更新到主节点NameNode上。

2.2.2 资源扩展算法

(1)用户发起资源访问请求,该请求发送到NameNode节点。

(2)NameNode节点判断请求类型及请求资源属性,并实现该请求和资源文件所在节点的对应服务关系。

(3)在DataNode节点中遍历资源列表,维护该资源的属性文件,并检验该资源的热点权值状态。

(4)当该资源热点访问热度上升,则匹配相应的DataNode节点,并将资源分配到相应的DataNode。

(5)维护NameNode,增加相应的DataNode节点。

2.2.3 资源收缩算法

(1)用户发生服务端请求,该请求发送到NameNode节点。

(2)该节点判断请求类型及请求资源属性,并实现请求和资源文件所在节点的映射关系。

(3)在DataNode中遍历资源列表,获取资源文件备份个数,及资源文件访问热点状态。

(4)当资源访问热点状态下降,则删除相应资源在访问量较小的DataNode上的数据。

(5)维护NameNode节点,删除需要缩减的节点。

3 数据测试

通过13个DataNode的数据访问测试,共计80G数据做初始化,初始化时由无访问热点控制,按照Hadoop存储结构随机分布数据。

表1 测试结果表

DataNode5 DataNode6 DataNode7 DataNode8 DataNode9 DataNode10 DataNode11 DataNode12 DataNode1312101510101512101540204010101091310

通过不同访问热点设置,将访问请求分布到各个DataNode节点,并经过MastNode进行访问热点调节,将活性较高的数据分布到多个节点,并将活性降低的数据从节点收缩减少,从而保证资源的合理使用,在测试中将大量请求放到DataNode1和DataNode2节点上,所请求数据资源被动态调整到这两个节点,在访问结束后可以看出这两个节点的数据量明显多于其它节点,同时,在访问中无请求访问的DataNode6和DataNode7两个节点数据呈现出明显收缩效应,以上数据可以说明,基于热点的访问控制基本生效,能够有效调节资源,满足测试前的调整需求。

[1]杨甫恒.基于Hadoop的大数据服务动态资源调节研究[D].成都:成都理工大学,2013.

[2]曹风兵.基于Hadoop的云计算模型研究与应用[D].重庆:重庆大学,2011.

[3]林伟伟.一种改进的Hadoop数据放置策略[J].华南理工大学学报(自然科学版),2012,(1):152.

[4][(美)Tom White,Hadoop:The Definitive Guide[M],O'Reilly Media,Inc.,2009.

[5]Jeffrey Dean,sanja Jeffrey Dean,sanjay Ghemawat.MapRednce:Simplified Data Processing on Large Clusters[J].2008,4(1):107-113.

猜你喜欢

热点活性节点
CM节点控制在船舶上的应用
热点
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
热点
简述活性包装的分类及应用(一)
结合热点做演讲
金丝草化学成分及其体外抗HBV 活性
抓住人才培养的关键节点
PTEN通过下调自噬活性抑制登革病毒2型感染