APP下载

基于Hadoop的云计算试验平台搭建研究

2013-11-01赵国海

关键词:集群计算机节点

张 岩,郭 松,赵国海

(1.沈阳师范大学 计算机与数学基础教学部,沈阳 110034;2.沈阳师范大学 教育技术学院,沈阳 110034)

0 引 言

云计算是继1980年大型计算机到客户端—— 服务器的大转变之后的又一种巨变。云是分布式计算(distributed computing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。云计算的核心思想是把大量的资源通过网络进行统一存储、调度和使用,形成一个庞大的资源库,给用户提供服务。2011年,工业和信息化部、国家发展和改革委员会联合印发《关于做好云计算服务创新发展试点示范工作的通知》,确定在北京、上海、深圳、杭州、无锡等5个城市先行开展云计算服务创新发展试点示范工作,显示出我国对于发展云计算的高度重视[1]。

1 开源云平台——Hadoop

Hadoop是一个在大型集群的廉价硬件设备上运行应用程序的开源云平台软件框架。Hadoop为应用程序透明的提供了一组稳定、可靠的接口和数据服务[2]。Hadoop中实现了Google的MapReduce算法,它能够把应用程序分割成许多很小的工作单元,每个单元可以在任何集群节点上执行或重复执行。此外,Hadoop还提供一个分布式文件系统用来在各个计算节点上存储数据,并提供了对数据读写的高吞吐率。由于应用了map/reduce和分布式文件系统使得Hadoop框架具有高容错性,它会自动处理失败节点[3]。

Hadoop的优势不但在于它的开源,而且它的设计根本就是存储和计算的高可扩展性,分布式文件系统的备份恢复机制和Mapreduce的任务监控又保证了分布式处理的高可靠性。任何普通的PC上安装运行Hadoop框架集群,都可以对海量的信息进行高效处理[4]。

为了能在实验室环境下实现云平台,并能够在云平台上进行开发测试,在考虑成本的前提下,可以采用虚拟环境下的云平台的搭建,既节省资金又能完成试验的目的。

2 Hadoop虚拟平台搭建

2.1 硬件和软件需求

软件:VMware虚拟机8.0以上版本,Linux操作系统本文采用ubuntu10.04版本,Hadoop1.0.4,java-jdk 1.6.x。

硬件:一台清华同方个人PC,CPU采用I3-2120,内存4GB,硬盘500GB,预装 Windows XP操作系统。

2.2 Linux虚拟机安装与设置

在Windows XP系统下安装VMware虚拟机以后,打开虚拟机,在虚拟机下安装Linux操作系统,由于实验用的模拟平台采用一个主机和4个节点,需要虚拟5台计算机。为了能够网络通信,要对虚拟机的网络进行相应得配置。

VMware的虚拟网络适配器通常采用Bridge和NAT两种方式,使虚拟机能够进行网络连接[5]:

1)Bridge方式:可以给虚拟机分配一个与主机相同网段的IP地址,实现多台主机连接。

2)NAT方式:VMware虚拟一个局域网,此种方式非常适合单主机多虚拟机构建集群。在虚拟Hadoop系统集群中。在实验中采用NAT方式。通过clone选项可以看到在VMware中安装了几台虚拟机[6]。

打开/etc/network/interfaces文件手动配置IP地址,这里是IP、网关、子网掩码等的一些配置;配置IP地址和网关,使用$sudo gedit/etc/network/interfaces打开文件,在文件里面添加如下内容:[7]

使用sudo gedit/etc/resolv.conf命令配置DNS,把它设置为nameserver 210.30.208.10。要实现Hadoop联机成功,要在主机和节点上都作相应的设置并制定主机[8]。

实验中把had0设置为主机,其余都为节点。

2.3 在主机中手动安装Java-JDK

在虚拟机中下载JDK-6u24-linux-i586.bin,并将其拷贝到安装目录下,使用命令:

2.4 在主机中安装Hadoop

把Hadoop安装文件拷贝到安装目录下,进行解压缩后给文件赋予权限。

1)用编辑器打开.Bashrc文件进行更新,这个文件可以定位Hadoop、Java环境[9]。

2)打开hadoop-env.Sh文件设置java安装路径[10]:

3)下面要修改3个重要文件:

① 修改 Hadoop/conf/core-site.xml,配置主节点[11],在configuration中添加:

② 修改hadoop/conf/mapred-site.xml,为配置jobtracker[12]

③ 修改hadoop/conf/hdfs-site.xml,这里要配置从节点的数量[13]。

最后,对HDFS文件系统进行格式化。Hadoop云平台主机就按装完成了。其他节点可以通过SSH进行克隆安装。把节点安装好以后可以使用[14]。

2.5 运行 wordcount.java测试平台[15]

1)先在本地磁盘建立2个文件file01和file02;

[cuijj@station1]$echo"Hello cuijj bye cuijj">file01

[cuijj@station1]$echo"Hello Hadoop Goodbye Hadoop">file02

2)在hdfs中建立一个input目录;

[cuijj@station1]$hadoop dfs-mkdir input

3)将file01和file02拷贝到hdfs的input目录下;

[cuijj@station1]$ hadoop dfs-copyFromLocal/home/cuijj/file0input

4)查看hdfs中有没有input目录;

[cuijj@station1]$ hadoop dfs-ls

5)查看input目录下有没有复制成功file01和file02;

6)执行wordcount(确保hdfs上没有output目录);

[cuijj@station1hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output

7)运行完成,查看结果。

3 总 结

经过测试Hadoop平台已经正常工作,云计算虚拟试验平台搭建完成,可供实验人员和开发人员在此平台上进行程序设计和开发应用系统。在搭建过程中发现几点应该在以后的搭建平台过程中引起注意:

1)用户的权限问题。如果权限配置不正确,会导致java和Hadopp不能安装。

2)路径的配置要正确。如果路径配置错误,会导致Hadoop运行时不能启动Java,从而Hadoop也不能正常工作。

3)使用SSH服务程序。正确使用SSH服务程序克隆节点机,可以很大程度地简化安装过程。

通过研究和实验,实验用云计算虚拟平台已经搭建完成。该实验平台可以为进一步研究各种平台系统接口和中间件提供实验基础,并为深入研发基于云计算的用户服务创造条件。

[1]田杰棠.我国云计算产业发展趋势及政策建议[J].经济纵横,2011(8):31-35.

[2]黎春兰,邓仲华.论云计算的价值[J].图书与情报,2009(4):42-47.

[3]张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究,2010(2):429-435.

[4]张霖,罗永亮.制造云构建关键技术研究[J].计算机集成制造系统,2010(16):2512-2522.

[5]柯栋梁,郑啸,李乔.云计算:实例研究与关键技术[J].小型微型计算机系统,2012(33):2321-2328.

[6]刘立群,池洁.构建基于网络协作学习教学环境[J].沈阳师范大学学报:自然科学版,2012,30(2):81-85.

[7]曹风兵,吴开贵,吴长泽.基于 Hadoop的校园云计算系统[J].计算机系统应用,2011(6):46-55.

[8]王宏宇.Hadoop平台在云计算中的应用[J].软件,2011(12):33-37.

[9]多雪松,张晶,高强.基于 Hadoop的海量数据管理系统[J].微计算机信息,2010(13):202-205.

[10]杨旻.Hadoop云计算平台在高校试验室教学环节中的实现[J].电脑知识与技术,2011(9):2179-2182.

[11]罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011(7):3-21.

[12]江务学,张璟,王志明.MapReduce并行编程架构模型研究[J].微电子学与计算机,2011(6):168-175.

[13]孙福权,张达伟,程勖,等.基于Hadoop企业私有云存储平台的构建[J].辽宁工程技术大学学报:自然科学版,2011(12):913-916.

[14]崔杰,李陶深,兰红星.基于Hadoop的海量数据存储平台设计开发[J].计算机研究与发展,2012(增刊1):12-17.

[15]李成华,张新访,金海,等.MapReduce:新型的分布式并行计算编程模型[J].计算机工程与科学,2011(33):129-135.

猜你喜欢

集群计算机节点
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
计算机操作系统
基于AutoCAD的门窗节点图快速构建
基于计算机自然语言处理的机器翻译技术应用与简介
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
信息系统审计中计算机审计的应用
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人