APP下载

浅谈大数据Hadoop技术

2017-12-15李晓玮

电脑知识与技术 2017年32期

李晓玮

摘要:随着移动互联网、物联网、共享经济的高速发展,互联网每天都会产生数以万亿的数据,这些海量数据被称作为大数据。在这个大数据时代,数据资源对我们生活产生了巨大影响,对企业经营决策也有着前瞻性指导意义。因此,大数据已经被视为一种财富、一种被衡量和计算价值的不可或缺的战略资源。该文从大数据Hadoop技术谈起、分别从Hadoop的核心技术、生态系统和Hadoop技术在教学中的应用四个方面进行了阐述。

关键词:大数据;Hadoop; HDFS; MapReduce

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)32-0010-02

当前,我国以信息技术为主导的创新经济高速发展,特别是依托于移动互联网和物联网技术的网络购物、移动支付、共享单车、微信通信交流等等,给人们生活方式带来了深刻的变革。整个互联网正在从IT(Information Technology)时代向DT(Data Technology)时代轉变,在这个DT时代,人们从被动的数据浏览者转变为主动的数据生产者,人们每天的网络购物信息、各种电子支付信息、使用共享单车信息、微信中浏览朋友圈的信息等等,都会产生数以万亿级的数据,这样庞大的数据如何存储、如何传输、如何计算、如何分析、如何保证数据的完整性和安全性等等一系列新的技术挑战应运而生。然而,Hadoop技术代表着最新的大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明、新服务和新的发展机遇。

1 什么是Hadoop

Hadoop是一个由Apache基金会所开发的,开源的分布式系统基础架构。简单地说就是一套免费的分布式操作系统。我们以前使用的计算机系统,都是安装在一台独立主机上的单机版操作系统。例如我们熟知的微软公司的Windows操作系统和苹果公司的Mac OS。而分布式系统则是通过高速网络把大量分布在不同地理位置、不同型号、不同硬件架构、不同容量的服务器主机连结在一起,形成一个服务器集群。分布式系统把集群中所有硬件资源(CPU、硬盘、内存和网络带宽)进行整合统一管理,形成具有极高运算能力,庞大存储能力和高速的传输能力的系统。

Hadoop就是以Linux系统为原型开发的大数据分布式系统。Hadoop具有很强的扩展性,只要是接通网络它就可以不断加入不同地域、不同型号、不同性能的服务器主机,以提升集群的运算、存储和网络带宽,以满足大数据所需要的硬件要求。此外,Hadoop还具有极强的安全性,由于分布式系统数据是存储在不同物理主机上的,而且Hadoop数据一般每个数据存储三份,而且分布不同物理主机上,一旦其中一份数据损坏,其余正常数据会很快替代它,这样很好地解决了数据完整性和安全性问题,为大数据提供了安全高速稳定的系统平台。

2 大数据Hadoop两大核心技术

Hadoop框架最核心的技术就是:HDFS和MapReduce。HDFS为大数据提供了数据存储文件系统;MapReduce则为大数据提供了调度和管理数据的算法。

HDFS(Hadoop Distributed File System)它就像是我们Windows系统中使用的FAT、NTFS文件系统一样,它就是Hadoop的文件格式系统。在单机版系统中,数据是存储在一块物理硬盘上,文件系统把硬盘按照磁道、扇区进行分区然后划分成若干个存储盘,为用户呈现的就是C盘、D盘等。然而,在Hadoop系统中数据是存储在集群不同的物理主机上,为用户呈现的是例如像百度网盘的网络路径形式。用户只要知道网络路径就可以存储数据,不用关心数据具体存储在哪台主机上,HDFS负责完成数据物理硬盘的格式化及存储数据分配到哪个物理主机上的存储管理工作。

MapReduce是Hadoop系统数据调度、传输和硬件资源管理的算法。MapReduce采用“分而治之”的思想,就是把一个大任务化解为若干的小任务,然后在把各个小任务分配到集群的不同结点上,然后在不同结点上完成各自任务,再把各节点的中间结果汇总整合,从而完成最终的大任务得到最终结果。简单地说,MapReduce就是“任务的分解与结果的汇总”,这样大大提高了Hadoop系统的运行效率。

3 大数据Hadoop技术的生态系统

Hadoop是一个开源分布式大数据系统,围绕它形成一系列分布式软件集合,来实现大数据的各项应用。就像我们熟知的Windows系统,需要Office软件来做文字处理工作;用PhotoShop来做图像处理工作;用 MS SQL Server来做数据库管理工作等。为了对大数据进行存储、数据分析、数据挖掘,各大企业经过长期探索在实践中形成了Hadoop为核心的一系列软件集合,我们称它为大数据Hadoop生态系统。下面我们就一一介绍:

Hive——Hadoop数据仓库工具。Hive主要是为大数据提供数据存储,并通过SQL语句转换为MapReduce任务来实现数据管理工作。

Sqoop——Hadoop数据转换工具。Sqoop主要用于在Hive与传统的数据库(mysql、postgresql... )间进行数据的传递与转换工作。

Flume——Hadoop文件收集工具。Flume主要用于网络上实时海量日志的采集、聚合和传输工作。

Oozie——Hadoop任务调度工具。Oozie主要用于大数据任务调度管理工作,就像Windows中的任务管理器一样。

ZooKeeper——Hadoop 协调管理工具。ZooKeeper主要用于协调和管理Hadoop生态系统各软件的同步与配合的工具,这样方便统一和简化大数据软件管理工作。

Hue——Hadoop大数据Web开发管理工作。Hue主要用于大数据通过Web界面进行可视化展示、呈现数据结果和管理。endprint

4 大数据的应用

4.1 Hadoop在企業中的应用

随着大数据技术的发展方兴未艾,国内外各大互联网巨头公司纷纷加入其中,像国外的Yahoo、亚马逊、Intel、IBM和Facebook,国内的阿里巴巴、百度和腾讯等都有了自己的Hadoop大数据项目。以Hadoop技术为代表的大数据已经相对成熟,因此,各大公司纷纷招聘大量掌握Hadoop技术的专业人才。经过市场调研主要有三个方向:

Hadoop运维工程师:能够搭建Hadoop生态系统平台,掌握Hadoop框架所有系统的部署与调试工作,并且可以修改配置文件和维护Hadoop生态系统平台。

Hadoop数据工程师:理解Hadoop运行原理,可以独立编写MapReduce程序,进行大数据分析和数据挖掘工作

Hadoop系统架构师:全面掌握Hadoop生态系统的规划、部署、调试和独立编写MapReduce程序,从而对数据进行分析和数据挖掘,为决策提供支持和数据保障。

4.2 Hadoop在高职教学中的应用

高职教育层次的学生,学习大数据Hadoop技术,主要是面向Hadoop运维工程师岗位,而Hadoop数据工程师和系统架构师则是面向本科生或是研究生层次的学生。根据Hadoop运维工程师岗位需求,结合高职学生特点,可以开设相应项目化实训课程,主要实训课程需要相应实训环境,根据充分调研,现提出一种实训方案如下:

大数据Hadoop技术的实训环境搭建与部署,是在Linux系统上通过虚拟化技术在集群服务器上进行分布式存储和计算的一系列应用软件的集合。因此,教学实训需要相应硬件和软件作为支撑。本方案是考虑成本和实训效果,按照一个大数据实训室来规划,由36台学生机和1台教师机,一个光线交换机和一台万兆路由器组成的。

硬件方面:Hadoop是分布式系统,需要虚拟技术虚拟出多台计算机进行实训,因此,硬件上需要高性能的计算机和高速千兆网络为基础。

软件方面:Hadoop系统是安装在Linux系统上的,但是考虑方便教学,因此本方案是在Windows系统上安装虚拟化软件(VMware),在VMware上安装Linux 64位的操作系统(CentOS 6.4)作为教学和项目实验的基础环境。

实训课程:根据Hadoop运维工程师岗位对培养人才的需要,并结合Hadoop生态系统,本方案开设八个实训项目,来完成大数据Hadoop实训教学任务,每个实训项目都分为项目知识储备、项目提出、项目分析、项目准备和项目实施五个部分。具体如下:

5 小结

发展大数据Hadoop技术是新时代的发展潮流,也是信息化技术的发展趋势,各大企业也竞相追逐的热门技术。大数据Hadoop技术前景一片光明。因此,高等职业学校开设相应课程是适应市场需要,提升学生就业竞争力,以解决大数据人才短缺的供需矛盾。

参考文献:

[1] 李学龙,龚海刚.大数据系统综述[J].中国科学:信息科学,2015(1).

[2] 程学旗,靳小龙,王元卓,等.大数据系统和分析技术综述[J].软件学报,2014(9).

[3] 陈吉荣,乐嘉锦.基于Hadoop生态系统的大数据解决方案综述[J].计算机工程与科学,2013(10).

[4] 郝树魁. Hadoop HDFS和MapReduce架构浅析[J].邮电设计技术,2012(7).endprint