Hadoop框架核心技术在高校大数据教学系统中的应用
2018-01-29赵波郭瑞
赵波+郭瑞
摘要:文章构建了云中实验室Hadoop大数据实验平台,用15台服务器、两台交换机建立了虚拟化平台,将大数据专业课所需的环境虚拟在服务器群集中;在大数据服务器中利用Hadoop的HDFS,MapReduce,Zookeeper和HBASE高可用性核心技术,有效地实现了中原工学院大数据教学系统的高可用性、可靠性,保证系统服务的不间断运行。
关键词:Hadoop;大数据;教学;HDFS
随着大数据时代的到来,大型数据集或数据的分析处理能力很快成为各大行业机构克争力的关键基础。在大数据专业教学进行过程中,各类数据的安全性及运算能力越来越重要。大数据教学系统的正常运行受到硬件故障、硬件不足等影响。Hadoop架构具有_可靠性、商可拓展性、尚容错性和高效性等优点,采用大型分布式集群,构建和部署数据存储和数据分析系统,是大型数据的理想解决方案,可以高效管理和分析。由于Hadoop在资源管理、数据存储、性能优化、作业调度、系统安全性和高可用性等方面的优势,Hadoop技术在互联网领域得到了广泛的运用[1]。
1Hadoop核心技术概述
1.1Hadoop简介
分布式系统是建立在网络上的软件系统。正是由于软件的特性,分布式系统具有高度透明性。因此,分布式系统和网络之间的区别更倾向于高层软件(特别是操作系统),而不是硬件。透明性是指每个数据库分布节点对于用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不知道数据存于哪个站点以及事务在哪个站点上执行等。
Hadoop是分析、处理大数据的软件平台,是一个用Java语言实现的隶属于Appach的开源软件的框架,由大量计算机组成的集群实现了对海量数据进行的分布式计算。以分布式文件系统(Hadoop Distributed FileSystem,HDFS)和
MapReduce为核心的Hadoop文件系统为用户提供了系统底层透明的分布式基础架构。
1.2Hadoop的核心技术
Hadoop分布式计算安装在Linux系统,本文介绍以Ubuntu14.04为基础,其核心技术通过HDFS,MapReduce等技术支持实现,HDFS为海量数据提供存储,而MapReduce为海量数据提供计算。
1.2.1HDFS分布式文件系统
HDFS由1个管理结点(NameNode)和N个数据结点(DataNode)组成,每個结点都是一台普通的计算机,在使用操作上与人们熟悉的单机文件系统类似,均可以创建目录,创建、删除、修改、复制、查看文件内容等。
从HDFS观点分析,集群中的服务器各尽其责,通力合作,共同提供了整个文件系统的服务。群集服务器根据各自的任务分为主服务器NameNode和数据服务器DataNode,NameNode作为管理者,管理所有的DataNode进行数据存储、备份、组织记录分配逻辑上的处理。简单来说,NameNode就是运筹帷幄、负责布局指挥将军,具体的存储、备份是由DataNode这样的战士执行完成的。故此很多资料将HDFS的组织结构分为master(主人)和slaver(奴隶)的关系,其实和NameNode,DataNode划分道理是一样的[2]。
1.2.2MapReduce并行计算框架
MapReduce是一个基于集群的高性能并行计算平台。MapReduce将运行于大规模集群上的复杂的并行计算过程高度抽象成两个函数:Map(映射)和Reduce(归约),这是一个令人瞠目结舌的模型,该模型简单却又威力巨大,是Google公司的核心计算模型。MapReduce对需要处理的任务有一个基本要求:待处理的数据集可以分解为多个小的任务,而且每个小任务都可以完全并行地进行处理。基于MapReduce写出来的程序能够在由上千台商用计算机组成的大型集群上运行,并且以一种完全可靠容错的方式并行地处理T级别的数据集,完成了Hadoop在集群上存储的数据和任务的并行计算与处理。
从MapReduce计算模型分析,MapReduce框架和HDFS是运行在同一组节点上的,这种配置允许高效的调度己经存好数据节点上的任务,可以提高整个集群的网络宽带的利用率。另外,在Hadoop中,参与mapreduce作业执行任务的机器有两个重要角色:TaskTracker,JobTracker。JobTracker(一个集群中只能有一台)是用于管理和调度工作的,TaskTracker是用于执行工作的[3]。
1.2.3HBase分布式存储系统
HBase(HadoopDatabase)是一个高性能、高可靠性、可伸缩、面向列的分布式存储系统,即使廉价PCServer利用HBase技术也可搭建起大规模结构化存储集群。
HBase是一个面向列的、分布式的开源数据库。与一般的关系数据库的区别主要有两点:HBase基于列的而不是基于行的模式;HBase是一个适合于非结构化数据存储的数据库。
HBase利用HadoopHDFS作为其文件存储系统,HadoopHDFS为HBase提供了高可靠性的底层存储支持;利用HadoopMapReduce来处理HBase中的海量数据,HadoopMapReduce为HBase提供了高性能的计算能力;利用Zookeeper作为协同服务,ZooKeeper为HBase提供了稳定服务和failover机制[4]。
1.2.4ZooKeeper分布式锁设施
ZooKeeper是一种为分布式应用所设计的高性能、高可用且一致的开源分布式应用程序协调服务,是Hadoop和Hbase的重要组件,是Hadoop集群管理的一个必不可少的模块。该软件为分布式应用提供一致性服务和功能,包括域名服务、配置维护、组服务、分布式同步等。主要用来解决分布式应用中出现的数据管理问题,如统一命名服务、集群管理、分布式消息队列、分布式配置管理、分布式协调、分布式锁等。从性能上来说,ZooKeeper决定了它能够运用在大型的、分布式的系统当中。从可靠性来说,它不会因为某个节点的错误而崩溃。endprint
ZoopKeeper提供了一套分布式集群管理的机制,一种基于层次型的目录树的数据结构,并对树中的节点进行有效管理,进而设计出更多的分布式的数据管理模型。ZooKeeper的终极目标是把复杂的易出错的关键服务封装好,以及将性能高效、功能稳定的系统和简单易用的接口提供给用户[5]。
2在高校教学系统中的应用
2.1中原工学院Hadoop教学系统的应用现状
中原工学院的Hadoop教学系统通过学校部门统一招标采购,部署在学校实验实训中心,由实验实训中心统一管理和维护;原有的Hadoop系统单一地部署在物理计算机上,硬件利用率不高,随着上课学生的增加,物理计算机的需求也大大增加,不能够保证教学的正常运行。
随着大数据专业招生数量的增加,学校安装部署了大数据教学平台。中原工学院在2017年购置了Hadoop教学系统云中实验室,利用服务器虚拟化技术,在15台服务器上虚拟出1000台学生机教学环境Lmux系统。提高了服务器硬件的利用率,简化了机房管理员的工作,保证了教学系统正常工作的可用性和稳定性。
2.2在中原工学院教学系统中的具体应用
2017年在5台浪潮服务器和10台宝德服务器上安装部署Ubuntu14.04,并建立云中實验室系统,云中实验室系统分为Web教师端和Web学生端。学生通过Web学生端新建多个Ubuntu系统,在Ubuntu系统上搭建部署Hadoop,进行HDFS和MapReduce等实验。学生通过云中实验室Web学生端与教师进行互动,教师可以通过云中实验室Web教师端对学生的实验进行查看与批改。
2.3应用效果
多次测试和实际的应用表明,Hadoop服务器群集的高可用性技术满足了中原工学院大数据教学系统的正常运行。云中实验室的投入也提高了物理服务器的利用率。采用高可用性功能后,大数据教学系统服务器中断代价极小,能够满足多数教学系统运行需要,为构建高可用的高校大数据教学系统提供了可靠的保障。
3结语
利用Hadoop构建中原工学院高可用性教学系统群集,将Hadoop,HDFS,MapReduce,HBASE,ZooKeeper等高
可用性技术应用在大数据日常教学中,保证了所有大数据教学的正常运行和大数据教学系统的持续可用性和稳定性,为高校大数据实验提供了坚实的基础。
[参考文献]
[1]翟永东.Hadoop分布式文件系统(HDFS)可靠性的研究与优化[D].武汉:华中科技大学,2011.
[2]郝向涛.基于Hadoop的分布式文件系统技术分析及应用[D].武汉:武汉理工大学,2013.
[3]邓自立.云计算中的网络拓扑设计和Hadoop平台研究[D].合肥:中国科学技术大学,2009.
[4]郝树魁.HadoopHDFS和MapReduce架构浅析[J].邮电设计技术,2012(7):37-42.
[5]肖强,朱庆华,郑华,等.Hadoop环境下的分布式协同过滤算法设计与实现[J].现代图书情报技术,2013(1):83-89.endprint