基于Hadoop的校园教育资源管理系统

2014-02-25 04:31侯青徐家喜吉力
电脑知识与技术 2014年1期
关键词:云计算集群

侯青 徐家喜 吉力

摘要:针对传统海量数据存储和处理方法成本高、效率低、编写程序困难等缺点,该文搭建了基于Hadoop框架的云平台,设计和实现了基于Hadoop的校园教育资源管理系统。测试及实验结果表明,基于Hadoop的云平台在大数据和多用户并发访问环境下,系统运行稳定,数据处理快,能有效降低成本,较传统单机服务器具有明显优势,能够很好的在校园资源管理系统中得到应用。

关键词:云计算;Hadoop;集群;HDFS;Mapreduce

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)01-0067-05

1 概述

云计算是IT基础设施的交付和使用模式,用户可以通过网络以按需、可扩展方式获得所需要的计算机资源,如:硬件、软件平台等,提供资源服务的平台被称为“云平台”。当前国内外很多大型企业如:亚马逊、谷歌、IBM等已经推出了自己的云平台,并将计算资源作为服务提供给用户,但是由于云计算平台搭建所需要的硬件资源和软件服务比较昂贵,技术和安全性尚未成熟,另外受到带宽等各个因素的限制,在实际应用中,企业提供的云平台未必是一个解决问题的符合实际的好方案。

Hadoop是Apache基金会的开源项目,是云计算研究和应用最具有代表性产品。Hadoop分布式框架为开发者提供了一个分布式系统的基础架构,用户可以在不了解分布式系统底层细节的情况下开发分布式应用,充分利用由hadoop统一起来的集群存储资源、网络资源和计算资源,实现基于海量数据的高速运算和存储。当前校园教育资源的下载一般是通过FTP来完成,然而由于数据量大,并发用户多,导致服务器负载过重,下载速度慢,所以教育资源系统的资源没有被很好的使用。该文基于hadoop搭建一个校园教育资源管理平台,充分利用闲置PC机,发挥多台机器的功能,解决教育资源管理平台“形同虚设”问题。

2 基于hadoop的校园教育资源管理系统研究

2.1搭建云计算平台

该文为了测试基于hadoop云平台的性能,将机房即将报废的5台闲置机器做了集群。其中一台为Master,其余四台为Slave。Master主要配置NameNode和JobTracker的角色,负责数据分块、存储并将任务分配给相应节点进行执行。Slave节点主要负责各自任务的具体执行。具体实施步骤如下:

1、 所需资源包:Linux Ubuntu 9.10 、Hadoop 0.20.0 包、Sun-java6-jdk 包 、SSH 包和Eclipse 包。

2、 配置流程如下:

1) 安装Linux系统。该文使用ubuntu 11.10,将五台PC机安装同样版本的Linux系统,同时创建相同用户hadoop,并将home路径来做hadoop的安装路径。比如,本系统在所有机器上都建立了/home/hadoop/program目录。

2) 安装jdk到/home/hadoop/program路径下,并配置Master环境变量,即:在"/etc/profile"文件的尾部添加以下内容:

# set java environment

export JAVA_HOME=/home/hadoop/program /jdk1.6.0_43

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

保存并退出,執行下面命令使其配置立即生效。

source /etc/profile

Slave的jdk安装和配置同Master。

3) 下载hadoop并解压至Master,安装路径是/home/hadoop/program/hadoop-1.0.4。

4) 修改配置文件。在hadoop-1.0.4目录下找到conf目录,修改以下配置文件:

①配置hadoop-env.sh

该"hadoop-env.sh"文件位于"/home/hadoop/program/hadoop-1.0.4/conf"目录下。找到#export JAVA_HOME=$JAVA_HOME 将注释符号#去掉。

② 配置core-site.xml文件

修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。

hadoop.tmp.dir

/home/hadoop/program/hadoop-1.0.4/tmp

<!— file system properties —>

fs.default.name

hdfs://192.168.3.100:9000

③ 配置hdfs-site.xml文件

修改Hadoop中HDFS的配置,配置的备份方式默认为3。

dfs.replication

3

dfs.permissions

false

Path path = new Path(dst);

boolean isDel = hdfs.delete(path);

hdfs.close();

return isDel;

}

2.2.4实验结果与分析

1) 实验环境

本实验是在由5台PC机组成的Hadoop集群上进行测试的,其中一台为NameNode节点,主机Slave1,Slave2,Slave3和Slave4为DataNode节点。五台机器的系统配置如下:

Namenode: cpu i5-2400 3.1Ghz*4,内存: 4G,硬盘: 500G,操作系统:ubuntu12.04;

Datanode: cpu i5-3470 3.2Ghz*4,内存: 4G,硬盘: 500G,操作系统:ubuntu12.04;

实验主要是通过测试多客户端并发访问下载集群数据文件的效率,来对比基于Hadoop的云平台和传统服务器的性能。为了能够实时画出性能曲线图,使用JFreeChart插件,通过java xml编码将数据实时传到hdfs,绘制出实验结果分析图。

2) 实验

实验通过求1到30个并发客户端下载完1G大小文件的平均速度,来对比普通服务器ftp方式和基于hadoop的云计算平台hdfs下载两种方式哪种效率更高,实验结果如图3所示。由实验数据可以看出,当客户端数量少于6个时,集群并不占优势,平均下载速度略低于普通服务器,这主要是因为集群中,Namenode调度和Datanode数据块切换等消耗集群系统资源,在数据量交换不是很大的情况下不能体现Hadoop集群优势。随着并发客户端用户的增加,单机服务器负荷大大加重,处理大规模并发海量数据的能力大大降低,而Hadoop集群因其分布式特性,发挥出了良好优势,平均下载速度越来越好于单机服务器的ftp方式。值得注意的是不同数量的用户端的平均速并非是一个平滑的曲线,而是有些节点出现了跳跃,这是因为在实际测试环境下,客户端机器本身性能差异以及网络的不稳定等原因所造成,属于不可避免的。但是,从整体趋势来看,集群性能要好于单机服务器,所以基于hadoop的校园资源管理平台必能节省学校硬件资源开销,同时提高使用效率。

图3 hadoop集群与普通服务器性能对比

3 结论

通过对云计算基础知识、Hadoop云计算的介绍,搭建基于Hadoop的云平台,设计和实现了一个用于处理海量数据的校园资源管理平台。通过测试实验表明,Hadoop在海量数据存储和处理上具有明显的优势和稳定性。同时,该系统平台可以部署在廉价的通用硬件上,可以为学校减少购买服务器等资源的昂贵开支。总之,基于Hadoop云平台的校园资源管理,不仅可以降低硬件和软件开发成本,提高安全性,而且系统应用效率也会有明显提高。然而,Hadoop集群在高并发低延时访问方面,优势并不明显,HDFS系统需要进一步的优化才能够在校园资源管理平台上充分发挥其优势,所以本文接下来的主要工作是对HDFS系统性能进行优化,比如,数据块的优化、负载均衡优化和文件下载启用多线程等使得HDFS系统应用更加实用和广泛。

参考文献:

[1] 陈嘉恒.Hadoop实战[M]. 北京: 机械工业出版社, 2012.1-35.

[2] 刘鹏.实战Hadoop[M]. 北京: 电子工业出版社, 2011.1-83.

[3] 周敏奇,王晓玲,金澈清,等.Hadoop权威指南 [M]. 北京: 清华大学出版社, 2011.1-73.

[4] 曹宁,吴中海,刘宏志,等. HDFS下载效率的优化[J]. 计算机应用, 2010,30(8): 2061-2065.

[5] 韩海雯,齐德昱,封斌. 基于云计算的广域级视频监控综合业务平台[J].计算机工程与设计, 2013,34(5):1657-1662.

[6] 王梅,朱信忠,赵建民,等. 基于Hadoop的海量图像检索系统[J]. 计算机技术与发展, 2013,23(1): 204-208.

[7] 李杰輝,张亮,陈健,等. 基于Hadoop的化合生物活性分析系统[J]. 计算机工程, 2012, 38(13): 48-49.

[8] 杨峰,吴华端,朱华吉,等. 基于Hadoop的海量农业数据资源管理平台[J]. 计算机工程, 2011, 37(12): 242-245.

[9] HADOOP Wi-ki[EB/OL].[2009-07-01] http//wiki.apache.org /hadoop/.

猜你喜欢
云计算集群
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用