一种基于Hadoop的海量数据实时分析处理方法技术

技术编号:7936910 阅读:986 留言:0更新日期:2012-11-01 07:33
本发明专利技术涉及一种基于云平台的海量数据通讯系统,所述系统包括:多台机器,对其进行联网以调配成云平台,所述云平台至少包括:主服务器,Map服务器,Reduce服务器;其中通过所述主服务器上的数据库管理界面,连接到数据库,读取原始数据列表,再将数据列表存储到Map服务器上;当所述Map服务器执行完任务,并计算出中间结果,需要将该中间结果发送给所述Reduce服务器;当所述Reduce服务器执行完任务,将最终结果发送给所述主服务器;所述主服务器接收最终结果,并用可视化的形式呈现给用户。

【技术实现步骤摘要】

本专利技术涉及云计算领域中的基于Hadoop框架的海量数据实时处理方法,更具体地,涉及在数据应用领域中,将海量数据的实时处理特性应用于数据分析与数据处理中。
技术介绍
云计算已经被看做IT业的新趋势,可以粗略的定义为使用自己环境之外的某一服务提供的可伸缩计算资源,并按使用量付费,可以通过Internet访问“云”中的任何资源,而不需要担心计算能力、贷款、存储、安全性和可靠性问题。 从企业角度看,日益增长的信息已经很难存储在标准关系数据库甚至数据仓库中,例如,怎样查询一个十亿行的表,怎样跨越数据中心所有服务器上的所有日志来进行一个数据查询,更为复杂的是很多数据是非结构化或者半结构话的,这就更难查询了。Hadoop是一种框架,它可以分布式地操纵大量数据,在海量数据处理上具备了很多的优势I.高容错性从设计上HDFS已经假设了各服务器节点可能宕机,或者网络可能分害I]。这些问题会导致某些服务器不可用。Hadoop通过如下手段实现了高容错性I. I心跳检测和文件复制;I. 2数据完整性检测;I. 3元数据多源备份及Log机制;I. 4集群均衡。2.高伸缩性=Hadoop集群可以从一台机器扩大到上千台机器。具备很强的应对业务变化的能力。这里的业务变化可以是几个小时之内业务量从波峰到波谷之间的转换,也可以是中长期的业务增长或者变化。3.高成熟性业界多家传统IT巨头都在Hadoop上工作,将此系统打磨得相当成熟稳定。基于Hadoop的应用,无须担忧Hadoop本身的稳定性。而且有很多相关的基于Hadoop的套件可以使用例如HBase、Hive、Zookeeper等等都可以基于Hadoop或者结合Hadoop展开运用。但是,Hadoop框架架构处理海量数据时也存在着一定的劣势,基于Hadoop的MapReduce架构以支持高容量访问为目标,反而忽略了任务处理的延迟问题,这里是一些典型的不利于实时处理的实现I. Hadoop Map Reduce架构的任务分配中心不会将信息推到服务器,而是让服务器通过心跳去申请任务。而心跳的时间间隔一般是3秒,随着服务器数增长还要增加。对实时处理的要求而言,这是相当耗费时间的工作。2. Hadoop本身是一个框架。基于框架的通用性,Map Reduce本身的代码文件集也会在HDFS (文件系统)中传递,然后到服务器上展开,通过启动新JVM进程装载并运行。这是相当耗费时间的工作。而在一个Job的运行过程中,类似的JVM进程启动停止有5、6个之多,无法适应实时处理的需求。3. Hadoop本身是一个框架。基于框架的通用性,Map Reduce的结果也会写入HDFS中。用户只能再通过访问HDFS得到相应的结果。这又白白地耗费了一段时间。由此可见,基于以上Hadoop Map Reduce架构的特点,我们可以看出,Hadoop MapReduce适合通过批处理方式访问海量数据,但无法满足海量数据的实时处理的需求。实时商业智能建设的主要目标是支持实时决策,这就对海量数据处理的即时、快速、稳定提出了更高的要求
技术实现思路
本专利技术主要目的是基于Hadoop Map-Reduce架构中对海量数据实时性处理的特点和劣势,构建服务于商业智能软件自身的Map-Reduce框架,大大提升Hadoop平台实时运行Job的能力。完成高效信息的交换,减少实时传输和部署的时长,使整个商业智能系统对海量数据实时处理方面的能力得到一个很大的提升。更具体地,本专利技术涉及,所述方法包括1、将服务器进行联网,调配成云平台,所述云平台中至少包括Client服务器,Naming服务器,Map服务器,Reduce服务器;2、将原始数据部署到Map服务器;3、用户向Client服务器发起分析需求,当Client服务器接到客户发起的分析需求时,首先要向Naming服务器获取当前Map-Reduce状态,以便制定Job (任务);4、当Naming服务器接到Client服务器发起的获取计划需求时,根据获取到的当前的Map服务器,Reduce服务器的状态,产生一个计划表;5、当Client服务器接收到计划表后,开始生成Job (任务);6、Client服务器生成完Job (任务)后,将Reduce Task发给Reduce服务器,Map Task发给Map服务器;7、Map服务器接收到MapTask,执行该任务;8、当Reduce服务器接收到ReduceTask,执行该Task ;9、当Reduce服务器接收到Map Task返回的结果,Reduce服务器读取返回的结果里的Client Key,生成与之对应的Reduce Key,则去白板里记录已有一个MapTask完成任务了 ;KKReduce服务器将最终结果返回给Client服务器,Client服务器再将结果以可视化等方式展现给终端用户。附图说明附图I是本专利技术所述的基于Hadoop的海量数据实时分析处理方法的流程图。具体实施例方式为解决上述技术问题,本专利技术提供了一种基于Hadoop的海量数据实时分析处理的方法,采用的技术方案如下I.将多台服务器联网,调配成云平台。一台配置成Client服务器,一台配置成Naming服务器,一部分配置成Map服务器,一部分配置成Reduce服务器。所述Client服务器负责接收客户请求,并把分析处理需求分解,交给Map-Reduce框架处理。Client服务器自行制定Job (任务),并通知Reduce服务器和Map服务器执行Task(子任务)。所述Naming服务器负责命名工作。它知道当前有多少台Map服务器和Reduce服务器,及这些服务器的配置状况。Map服务器和Reduce服务器会定期发送各自配置情况,workload (工作量),CPU,内存等信息。所述Map服务器负责处理Map Task。它被预先部署了客户的原始数据,也被预先部署了 Map Task的代码文件集,当它接收到Client服务器发送的Map Task,可以直接执行该任务。所述Reduce服务器负责处理Reduce Task。它被预先部署了 Reduce Task的代码文件集,可以直接执行该任务。每台服务器总是开启了伺服进程,由于执行的代码文件集已经被预先部署,当接收到请求时,不用再开启/停止进程。伺服进程能够自行管理,并在线程池中执行任务。服务器之间的通讯机制采用自主研发的通讯方式。该通讯方式的特点是多路,复用,异步。通过该通讯方式提高海量数据传输交换的稳定性,减少CPU、内存的开销,提高节点间的传输效率。 2.当Client服务器接到客户发起的分析需求时,首先要向Naming服务器获取当前Map-Reduce状态,以便制定Job (任务)。3.当Naming服务器接到Client服务器发起的获取计划需求时,根据获取到的当前的Map服务器,Reduce服务器的状态,产生一个计划表。计划表包含每台服务器的配置(CPU、内存)情况,任务量,Map服务器预部署的文件信息,等等。Naming服务器把计划表返回给Client服务器。4.当Client服务器接收到计划表后,开始生成Job (任务)。该Job包含一个Client Key (票),多个 Map Task,一个 Reduce本文档来自技高网
...

【技术保护点】
一种基于Hadoop的海量数据实时分析处理方法,所述方法包括:1、将服务器进行联网,调配成云平台,所述云平台中至少包括:Client服务器,Nami?ng服务器,Map服务器,Reduce服务器;2、将原始数据部署到Map服务器;3、用户向Client服务器发起分析需求,当Client服务器接到客户发起的分析需求时,首先要向Naming服务器获取当前Map?Reduce状态,以便制定Job;4、当Naming服务器接到Cli?ent服务器发起的获取计划需求时,根据获取到的当前的Map服务器、Reduce服务器的状态,产生一个计划表;5、当Client服务器接收到计划表后,开始生成Job;6、Client服务器生成完Job后,将Reduce?Task发给Reduce服务器,Map?Task发给Map服务器;7、当Map服务器接收到Map?Task时,执行该任务;8、当Reduce服务器接收到Reduce?Task时,执行该任务;9、当Reduce服务器接收到Map?Task返回的结果,Reduce服务器读取返回的结果里的Client?Key,生成与之对应的Reduce?Key,并去白板里记录已有一个Map?Task完成任务;10、Reduce服务器将最终结果返回给Client服务器,Client服务器再将所述结果以可视化方式展现给终端用户。...

【技术特征摘要】
1. 一种基于Hadoop的海量数据实时分析处理方法,所述方法包括 1、将服务器进行联网,调配成云平台,所述云平台中至少包括=Client服务器,Naming服务器,Map服务器,Reduce服务器; 2、将原始数据部署到Map服务器; 3、用户向Client服务器发起分析需求,当Client服务器接到客户发起的分析需求时,首先要向Naming服务器获取当前Map-Reduce状态,以便制定Job ; 4、当Naming服务器接到Client服务器发起的获取计划需求时,根据获取到的当前的Map服务器、Reduce服务器的状态,产生一个计划表; 5、当Client服务器接收到计划表后,开始生成Job; 6、Client服务器生成完Job后,将ReduceTask发给Reduce服务器,Map Task发给Map服务器; 7、当Map服务器接收到MapTask时,执行该任务; 8、当Reduce服务器接收到ReduceTask时,执行该任务; 9、当Reduce服务器接收到MapTask返回的结果,Reduce服务器读取返回的结果里的Client Key,生成与之对应的Reduce Key,并去白板里记录已有ー个Map Task完成任务; 10、Reduce服务器将最終結果返回给Client服务器,Client服务器再将所述结果以可视化方式展现给終端用户。2.根据权利要求I的基于Hadoo...

【专利技术属性】
技术研发人员:包丽霞
申请(专利权)人:北京永洪商智科技有限公司
类型:发明
国别省市:

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

1