标题 | 大数据和云计算环境下的Hadoop技术研究 |
范文 | 张子妍 [摘 要] 大数据与云计算技术都已经成为信息社会最重要的技术之一, Hadoop是大数据与云计算时代背景下最热门的技术之一, Hadoop的相关技术对学术研究有重要影响。本文主要对Hadoop技术进行了研究,首先介绍了大数据和云计算的概念,其次介绍了Hadoop的概况以及相关技术的原理,比如核心技术HDFS和MapReduce;再次分析了目前Hadoop所面临的安全问题,然后描述了Hadoop的发展瓶颈并提出改进方案;最后进行了总结并展望Hadoop、Spark和Storm三者相互结合,混合架构将是未来发展的方向。 [关键词] 大数据;云计算;Hadoop doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 13. 076 [中图分类号] TP311.13;TP333 [文献标识码] A [文章编号] 1673 - 0194(2017)13- 0177- 03 1 概 述 大数据是指通过新的信息处理技术和方式,对数据进行收集、存储、分析以及处理等,并且能够利用全新的数据处理技术和方式产生相关联的预测效应,协助决策,发挥海量快速增长数据的价值。 云计算是指一种特殊的计算模式,它将计算任务分布在资源池中,池中的资源包括计算服务器、存储服务器、宽带资源,使用户能够按需获取各种服务。 大数据与云计算之间相得益彰,相辅相成,因为云计算本质上是数据处理技术,其核心是业务模型,大数据是云计算的延伸,是云计算的资产。 目前,海量非结构化的数据分析处理需一种高效并行的编程模型,此时Apache项目基金会研发的Hadoop迅速崛起,Hadoop主要用来进行大数据分析处理。Hadoop的出现解决了大数据并行计算、存储、管理等关键问题,这样用户即使对分布式底层细节不了解,也可以开发分布式程序。Hadoop得到了广泛认可,其优点是不容忽视的,主要有:高扩展性、低成本、高效率、高可靠性。 2 Hadoop相关的技术 Hadoop可以部署在廉价机器上的处理海量文件存儲与并行计算的云计算开发平台。Hadoop由HDFS、MapReduce、HBase、Hive、Zookeeper、Pig、Ambari、Sqoop等组成,其中主要部分是HDFS和MapReduce。 2.1 HDFS HDFS是构建在PC服务器上的高度容错的分布式文件系统,目的是用于海量数据的处理。HDFS的架构形式是主从架构,HDFS的元数据服务器和数据块服务器命名为NameNode和DataNode。 NameNode是一个中心服务器,是HDFS的核心结构,负责客户端对文件的访问以及管理文件系统的名字空间,存储HDFS分布式文件系统的元数据信息, NameNode可判断DataNode是否处在工作状态,并管理着DataNode上的分块信息。 DataNode负责管理其所在的节点上的所有数据,能够根据用户的请求来查询数据,周期性地与NameNode通信来告知自己保存的数据块信息。 2.2 MapReduce MapReduce设计之初是为了处理一些互联网数据,MapReduce有简单的接口和透明的编程环境,极大地节省了开发周期。MapReduce通过处理大量数据来精简和优化数据集,以便将数据集载入到数据库管理系统中。 MapReduce也采用了主从架构,将数据处理任务分为两大过程,分别为:Map过程和Reduce过程。Map过程的任务主要为数据的过滤处理,Reduce过程的任务主要为数据的聚集处理。在Map过程中,第一,要将输入的数据集分成若干数据块,再为每一个数据块分配一个Map小任务;第二,将这些任务分配到集群中的各个节点上,此时在计算过程中会出现一个数据集合(中间结果);第三,将这些数据集合进行排序再产生一个新的数据集合,此时新的数据集合中的数据都具有相同的键值;第四,进入Reduce过程,产生最终结果,并输出到HDFS中。 2.3 Hadoop中的其他技术 Hadoop生态系统除了有HDFS、MapReduce之外还有其他相关技术: (1)HBase HBase是用于服务海量数据的存储以及快速读写,它可以通过添加节点来进行线性的扩展,但是却不支持向后扩。 (2)Hive Hive是构建在Hadoop之上的数据仓库基础架构。可实现数据的提取、转化、加载等功能。 (3)Zookeeper Zookeeper分布式协调服务是由许多服务器节点组成的,其目的是对Hadoop集群的运维进行管理。 (4)Pig Pig可为用户提供多种接口,用于查询大型半结构化的数据集,为大型数据提供了一个高层次的抽象,是大数据分析平台。 (5)Ambari Ambari是一个基于Web的管理工具,可快速部署、监控以及管理集群。 (6)Sqoop Sqoop是在Hadoop系统与传统的数据库间进行数据交换的工具,它是基于MapReduce来对数据进行操作和处理的。 Hadoop中各个子项目在云计算大数据处理中扮演着不同的角色,以保证底层海量数据可以为顶层应用发挥最大作用,具体架构如下所示。 3 Hadoop的安全问题 Hadoop项目是近期较流行的云计算和大数据分析框架,其安全问题也受到越来越广泛的重视。 3.1 缺乏安全授权机制 当用户掌握数据块的Block ID后就可不通过NameNode的服务权限和身份认证,访问相应的DataNode,也可以随意启动假的DataNode和TaskTracker,对于JobTracker,用户可以任意修改其他作业,并不受限制。 3.2 缺乏用户以及服务器的安全认证机制 在缺乏安全认证的情况下,恶意用户都可以冒充其他用户,并非法访问集群、修改JobTracker状态、任意提交作业,恶意用户可以冒充合法服务器接受JobTracker和NameNode发布的任务或数据。 4 Hadoop的瓶颈与改进 4.1 实时性处理 Hadoop采用的主要思想是“分而治之”,对大数据的计算进行分解,接下来交由众多的计算机节点分别完成,最后统一汇总计算结果。然而Hadoop结构在处理实时性要求较高的业务时,却产生了瓶颈。 Storm是由Twitter公司开发的,是一个开源分布式的,容错的实时计算系统,提供良好的实时性。将Storm的实时流处理和Hadoop的批处理进行融合集成,会提高集群的处理性能、及稳定性和扩展性。既可以支撑增量的实时流处理,也可以实现批量处理的方式,通过扩展数据存储层以及增强高可用性,进一步扩展大数据业务场景。文献[3]中提出一种基于Storm和Hadoop的新型大数据处理方案,将Storm的实时流处理与Hadoop的批处理进行融合集成,提高集群的性能。 4.2 MapReduce算法 MapReduce的缺陷主要有三点,第一,仅支持数据密集型运算,不支持任务密集型计算;第二,不支持显示的迭代计算;第三,处理紧耦合数据效率低。Spark的使用可以很好地改善上述不足。 Spark是2009年美国加州大学伯克利分校研发的,立足于内存计算,增强了多迭代批量处理能力,提高了大数据处理的时效性。其核心技术是弹性分布式数据集(RDD),该框架包括内存计算、迭代计算、流式计算批处理计算,数据查询分析计算以及图计算,是MapReduce模型的代替模型。Spark支持单节点和多节点集群,可以在Hadoop文件系统中并行运行,通过Mersos第三方集群框架可以支持。 5 结 语 大数据和云计算的快速发展,作为应用平台的Hadoop起到了至關重要的作用,但是Hadoop的缺陷也是不容忽视的。Hadoop今后的发展方向可能着重和Spark、Storm三者完美结合,混合架构,各显神通。由于Hadoop的兼容性很好,可以很容易地同Spark和Storm相结合,以改进Hadoop在时效性、流处理、图处理迭代式计算上的不足。 主要参考文献 [1]胡俊,胡贤德,程家兴.基于Spark的大数据混合计算模型[J].计算机系统应用,2015,24(4):214-218 [2]付东华. 基于HDFS的海量分布式文件系统的研究与优化[D].北京:北京邮电大学,2012. [3]缪璐瑶. Hadoop安全机制研究[D].南京:南京邮电大学,2015. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。