基于Hadoop的云计算平台的研究与设计

2016-03-18 08:30:59王丽莉
移动信息 2016年12期
关键词:分布式计算海量数据处理

王丽莉



基于Hadoop的云计算平台的研究与设计

王丽莉

天安财产保险股份有限公司,上海 200120

随着保险保险行业对信息化的要求越来越高,帮助保险行业应对互联网环境下的大渠道、大保单、大数据的挑战,支持大数据分析和介入,拓宽数据挖掘的广度和深度,利用云计算平台管理和存储这些数据显得极为重要。基于此,提出了一种基于分布式计算技术进行管理和存储海量数据的方法,设计开发基于Hadoop的云计算平台。

云计算;保险行业;Hadoop;分布式计算

引言

采用云的形式,将使保险公司变得更为灵活、快速。传统模式下,保险公司上线新产品需要3~6个月的时间,采用云平台后将会缩短到1~2周。对应的开发成本、部署成本将会从百万级十万级降低至数万元。快速的产品部署意味着极低的试错成本。面对突发的市场需求,保险公司可快速推出产品,同时根据市场反馈不断调整策略。这种小步快跑、快速迭代的方式,让保险公司能够就像互联网公司一样迅速响应市场需求,推出新产品。帮助保险公司低成本、低风险、快速利用云计算优势拓展优化传统业务和服务,同时使保险公司更容易的利用云平台生态圈为保险提供流量,渠道和大数据服务。此外,云平台还将输出大数据挖掘分析能力,改变保险公司只能依托自有数据对产品定价的模式,让保险公司更了解客户,做到人群细分和差异化定价。

1 云计算及Hadoop技术简介

1.1 云计算概述

云计算是一种超级计算模式,通过把计算任务分配给大量计算机构成的资源池上,使应用系统根据需求获得相应的计算能力、存储空间和软件服务,通过网络访问可配置的计算资源(例如网络、服务器、存储、应用和服务),这些资源可实现快速提供与释放,并且只需极少的管理成本或服务供应商的干预[1-2]。

云计算模式具有“按需自助服务、宽广网络访问、资源池化、快速伸缩、可计量服务”5项基本特征和“私有云、社区云、公有云、混合云”4种部署方式,提供“SaaS、PaaS、IaaS”3大服务类型。

云计算体系结构自底而上为物理资源层、资源池层、管理中间件层和SOA(Service Oriented Architecture)构建层[3]。物理资源层由计算机、存储器、网络设施、数据库和软件等组成。资源池层将大量相同类型的资源构成同构或接近同构的资源池。管理中间件层负责云计算的资源管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务。SOA构建层将云计算能力封装成标准的Web Service服务,并纳入到SOA体系进行管理和使用。

云计算基本架构由管理和服务两大部分组成[4]。

1.2 Hadoop概述

Hadoop是Apache开源组织的一个分布式计算框架,可以在任何普通的硬件设备组成的集群上运行应用程序,构建一个具有高可靠性和良好扩展性的并行分布式系统,HDFS分布式文件系统、MapReduce编程模型和HBase分布式数据库是其三大核心技术 无论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。它是完全使用Java开发的开源平台,可以运行在任何普通的软硬件平台上。Hadoop所采用的分布式系统属于一种被称为“向外扩展”的增强计算能力的方式,它是把许多低成本的PC设备组成大型集群,形成功能专一的分布式系统。分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。它的高效数据交互实现以及MapReduce结合Local Data处理的模式,为高效处理海量的信息做了基础准备。

整个Hadoop的体系结构主要通过HDFS实现对分布式存储的底层支持,通过MapReduce来实现对分布式并行任务处理的程序支持。

2 基于Hadoop的云计算平台设计

2.1 Hadoop云计算平台总体设计

结合海量数据异构性、分布性、多样性等特点,从系统编程实现角度考虑,采用MVC架构设计,使结构更加清晰,系统易于扩展,系统整体架构如图1所示:

图1 平台整体框架结构

2.2 Hadoop云计算平台功能设计思想

从功能考虑,基于Hadoop的集群特征,将云计算平台的计算资源扩展到Hadoop的各个节点上,利用Hadoop集群的并行计算和存储功能与数据处理的理论相结合,便可以高效完成海量数据的处理,实现基于Hadoop的云计算平台。

Hadoop是一种分布式系统基础架构,与MapReduce编程模式相结合,用户可以对分布式程序进行开发,对集群快速高效的数据运算和数据存储充分利用。因此,基于Hadoop的云计算平台在处理计算资源数据过程中具有如下特点:(1)在Hadoop的存储和处理过程中,数据可以通过建立多个副本的方式对丢失的或错误的数据进行快速及时的恢复。MapReduce可以将集群的最大计算资源进行调用,Hadoop分布式文件系统可调用集群的最大存储资源,根据计算和存储任务来增加集群的节点。(2)编程人员不需要关心每处数据的细节,只需将MapReduce作为统一的数据处理接口,用户对处理任务和处理结果的收集过程是透明的。子问题与子问题之间的数据交互可由MapReduce组织管理,在数据处理过程中可以根据节点与数据的特点进行适当修改MapReduce接口来提高数据处理的效率。(3)Hadoop云平台结合MapReduce改进关联规则的算法,可以实现数据操作并行执行,提高了传统关联算法的效率。

2.2 Hadoop云计算平台建设

Hadoop框架的MapReduce计算模型为海量数据的复杂计算问题提供了简单的编程模型。

(1)MapReduce原理,MapReduce是一种高效的适用于海量数据处理的分布式编程模型。MapReduce的工作过程可以分为两个阶段:Map阶段和Reduce阶段。Map将一个任务分解成多个任务,Reduce将分解后的多任务的结果汇总起来得出最后的分析结果。用户定义一个Map函数来处理原始数据,得到的输出结果是一组键值对(key/value),再定义一个Reduce函数将所有拥有相同key值的中间结果进行合并。

(2)HDFS系统搭,HDFS是Hadoop框架中的分布式并行文件系统,它实现了数据的分布式存储及管理与高吞吐量访问的功能。HDFS对于整个集群有单一的命名空间,保持了数据一致性,文件会被分割成多个文件块,每个文件块被分配存储到数据节点上。HDFS由一个名字节点NameNode和若干个数据节点DataNode组成。NameNode负责存储文件系统中的元数据和控制外部客户的访问,DataNode用来存放实际的数据。每个文件都被划分成若干64 M的数据块,这些数据块会被分散地存储到各个DataNode上,HDFS为了保证数据的安全性,还会为数据进行备份,默认情况下,每个数据块会有三个副本分别存放在不同的机器上。用户从NameNode那里获取数据的位置信息后,直接与存放数据块的DataNode进行通信。HDFS采用Master/ Slave 的体系结构,集群中有一个NameNode和很多个DataNode组成。Master相当于管理员,管理统一的命名空间,主要负责NameNode及JobTracker的工作;JobTracker启动、跟踪和调度各个Slave的任务执行;Slave:相当于执行者,分布式的数据节点,具有DataNode的功能并负责TaskTracker的工作;TaskTracker根据应用要求结合本地数据执行Map以及Reduce的任务。

(3)基于Hadoop云计算平台的设计,结合MapReduce原理和HDFS搭建思路,云计算平台采用分层思想,可分为:交互层、业务应用层、数据处理层、分布式计算层。其中,交互层通过提供具有良好表现形式的图形界面,使得用户可以登录系统定制各种细粒度的业务,进行查看或者保存各种输出结果。业务应用层提供了各种业务逻辑并实现了对各种业务流程的控制和调度,通过调用数据处理层的多个模块完成交互层提交的业务,并返回结果到交互层。数据处理层为业务应用层提供业务流需要的各个模块,实现各种任务过程中的并行算法,再将任务提交到Hadoop分布式计算层进行运算,并将结果返回给业务应用层。分布式计算层使用Hadoop框架实现集群存储和计算。

[1]蒋林涛.对云计算中若干问题的思考[J].电信科学,2011(3):1-6.

[2]刘鹏.云计算[M].2版.北京:电子工业出版社,2011.

[3]吴朱华.云计算核心技术剖析[M].北京:人民邮电出版社,2012.

TP311.13

A

1009-6434(2016)12-0117-02

猜你喜欢
分布式计算海量数据处理
一种傅里叶域海量数据高速谱聚类方法
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
心理学报(2022年4期)2022-04-12 07:38:02
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
水泵技术(2021年3期)2021-08-14 02:09:20
海量快递垃圾正在“围城”——“绿色快递”势在必行
当代陕西(2019年14期)2019-08-26 09:42:00
基于云计算的移动学习平台设计与实现
软件导刊(2016年11期)2016-12-22 21:47:07
云计算中MapReduce分布式并行处理框架的研究与搭建
一个图形所蕴含的“海量”巧题
面向异构分布式计算环境的并行任务调度优化方法
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
基于文件系统的分布式海量空间数据高效存储与组织研究