您好,欢迎来到微智科技网。
搜索
您的当前位置:首页基于Hadoop建立云计算系统

基于Hadoop建立云计算系统

来源:微智科技网
第28卷第3期2011年6月贵州大学学报(自然科学版)

JournalofGuizhouUniversity(NaturalSciences)Vol.28No.3

Jun.2011

文章编号1000-5269(2011)03-0091-03

基于Hadoop建立云计算系统

1,2*

1

,陈孝威

(1.贵州大学计算机科学与信息学院,贵州贵阳550025;2.贵州师范大学教育科学学院,贵州贵阳550001)

要:云计算是2007年底正式提出的一个新概念,本文分析了云计算的特征和Hadoop的作用

地位.针对Hadoop这样一个在集群上运行大型数据库处理应用程序的开放式源代码框架进行了云计算平台的实现,并进行了实验验证。关键词:Hadoop;云计算;MapReduce;HDFS中图分类号:TP393

文献标识码:A

群节点上执行。

Hadoop的优点在于:

1)可扩展:不论是存储可扩展还是计算可扩Hadoop的扩展非常简展都是Hadoop的设计根本,单,不需要修改任何已有的结构。

2)经济:其框架可运行在任何廉价PC上,对硬件没有特殊的要求。

3)可靠:分布式文件系统的备份恢复机制及MapReduce的任务监控保证了分布式处理的可靠Hadoop默认提供1个以上备份。性,

4)高效:分布式文件系统高效数据交互实现及MapReduce结合LocalData处理的模式,为高效处理海量信息打下基础。

Hadoop由三个相对,而又相辅相成的软件构造:

(1)HadoopCore,是Hadoop的核心,提供了一个分布式文件系统(HDFS),并支持MapReduce分布式计算框架。

(2)Hbase,构造在HadoopCore之上,提供一个可扩展、分布式的数据库系统。

(3)ZooKeeper,是一个高可用、高可靠协同工作系统,分布式程序可以用ZooKeeper保存且更新关键共享状态。

云计算于2006年由Google提出的,展现规划

了一个美丽的网络应用模式。随后亚马逊、微软、IBM等公司都宣布了自己的惠普、雅虎、英特尔、“云计划”。云计算一词用来同时描述一个系统平台或者一种类型的应用程序。一个云计算的平台按需进行动态地部署、配置、重新配置以及取消服务等。建立在云计算平台上的服务器可以是物理服务器或虚拟服务器。云计算平台利用虚拟机作为服务器可进行在线迁移实现虚拟机和物理资源的重映射,从而动态地实现整个系统的负载均衡避免产生资源热点。在云计算模型的基本结构当中,

。它核心部分是由多台计算机组成的服务器“云”将资源聚集起来,从而形成一个大的数据存储和处

理中心。由服务器中的各种配置工具来支持“云”端的软件管理、数据收集和处理。服务器根据用户客户端提交的数据请求处理数据、返回检索结果。按照服务的分类,来实现监控和测量,保证服务的质量,合理地分配资源,达到资源效益的最大化。最终,实现海量数据的存储和超级计算能力。

Hadoop是一个在集群上运行大型数据库处理应用程序的开放式源代码框架。它支持通过Google的MapReduce编程范例来创建并执行的应用程序,在很多大型网站上都已经得到了应用,可以说是目前应用最为广泛的开源云计算软件平台。

1Hadoop框架

Hadoop框架用于实现MapReduce算法,能把应用程序分割成许多很小的工作单元,可在任何集

2安装Hadoop

Hadoop的安装与运行需要首先安装JavaTM1.

收稿日期:2011-03-20

基金项目:贵州大学博士生创新基金(省研理工2010006)

Email:starcraft-cj@163.com.作者简介:陈俊(1979-),男,贵州贵阳人,博士研究生,贵州师范大学讲师,研究方向:网络技术,*通讯作者:陈

Email:starcraft-cj@163.com.俊,

·92·贵州大学学报(自然科学版)第28卷

5.x或以上版本。其次ssh亦需要安装,且每次系统启动时sshd服务必须设置为自动启动。Ubuntu用户可用下面命令自动下载并安装:

$sudoapt-getinstallssh

$sudoapt-getinstallrsync

其他Linux版本的用户可以下载openssh并按其说明步骤安装。

注意如果希望运行在Windows平台上,则必须安装Cygwin,之后再安装openssh包。由于Hadoop需要通过ssh服务在各个节点之间登录并运行服务,因此必须确保安装Hadoop的各个节点之间每台机器主机名和IP地址能够被所有机器正确解析。

单机安装Hadoop较为简单,获取Hadoop之后首先解压缩到特定目录。由于Hadoop通过ssh服务可对多个节点进行管理和同步,在此需要求节点具有一个相同的帐号且Hadoop的部署目录结构应相同。我们可按以下方式安装Hadoop:

(1)在每一台机器上创建一相同的帐号(可以mapred为例进行说明),这个帐号默认主目录相同,如/home/mapred/。为便于用mapred帐号修改系统设置和访问系统文件,本文把mapred设为su-doers(有root权限的用户)。可用已有sudoer登录系统,执行sudovisudo–f/etc/sudoers,并在此文件中添加mapredALL=(ALL)ALL保存退出即可。

(2)用mapred帐号登录到每个节点上后,在mapred主目录中为Hadoop创建目录hadoopinstall,为/home/mapred/hadoopinstall,将所有Hadoop版本放于这个目录。

(3)把hadoop-0.17.1压缩包解压到hadoopin-stall中。完成以上步骤设置后,所有配置文件都应在/hadoop/conf/目录中,所有可执行程序都应在/hadoop/bin目录中。

(4)设置环境变量MYMHADOOP_CONF_DIR指向存放配置文件目录,为保证用户每次登录到系统中都可自动设置此环境变量,需在/home/ma-pred/.bashrc和/etc/profile两个文件中添加命令exportHADOOP_CONF_DIR=/home/mapred/ha-doopinstall/hadoop_config/.

Hadoop是master/slave结构,在一个Hadoop集群中,有一个Namenode(相当于master)和若干个Datanode(相当于slave),其中Namenode通过ssh服务来启动和停止各个Datanode上的各种守

护进程。因此ssh的设置是Hadoop部署中很重要的一环。为了不需要用户每次在节点之间执行指令时输入密码,因此我们配置了ssh让之采用无密码公钥认证的方式来登录并保证所有的机器都安装了ssh服务器,且已启动sshd服务。

完成ssh服务配置之后,需要修改Hadoop相关配置文件,具体步骤如下:

(1)打开node1节点的/home/mapred/hadoop-install/hadoop-config/hadoop_env.sh,修改其中JA-VA_HOME和HADOOP_HOME变量,其中JAVA_HOME是Java的根目录,HADOOP_HOME是Ha-doop根目录。

(2)修改node1节点/home/mapred/hadoopin-stall/hadoop-config/masters,并指定Namenode主机名。

(3)修改node1节点的/home/mapred/hadoop-install/hadoop-config/slaves,并指定Datanode从机名。

(4)修改node1节点的/home/mapred/hadoop-install/hadoop-config/hadoop-site.xml文件,该文件指定了Hadoop运行属性。需注意,同目录下的hadoop-default.xml不允许直接修改。

(5)完成以上修改后,把node1上的Hadoop原样复制到node2和node3上,且需保证目录结构一Hadoop在集群(node1,node2,致。完成该操作后,node3)上已完成部署。

(6)把主节点Namenode的文件系统格式化为HDFS,这个过程不会影响到各个节点现有文件和程序。格式化方法是进入node1的/home/ma-pred/hadoopinstall/hadoop/bin目录,然后执行ha-doopnamenode-format命令。

(7)现可启动Hadoop服务,启动服务需启动Namenode节点上Hadoop守护进程,操作需登录到node1上,进入/home/mapred/hadoopinstall/ha-doop/bin目录,执行以下命令:

./start-all.sh

(8)如需关闭Hadoop服务,则只需关闭Name-node节点上Hadoop守护进程,操作需登录到node1上,进入/home/mapred/hadoopinstall/ha-doop/bin目录,执行以下命令:

./stop-all.sh

Hadoop服务就在集群(node1,node2,在此,

node3)上部署成功。第3期陈俊等:基于Hadoop建立云计算系统·93·

3运行实例

HDFS中的文件与目录用Linux命令是无法直

~/mapred/reducer-inputmytest/*-outputmyout如果用户自己所用机器不属于集群中的节点,而且运行在Windows系统之后,在使用Hadoop集群时,通过ssh客户端来与节点进行通讯在安装Hadoop之后,也需要对其ssh客户端进行正确的设置,否则将无法通过客户端连接到节点上。

接访问的,必须使用Hadoop自身提供命令且所有

的操作都需在Namenode上进行。以下是一些文件访问命令示例:

(1)创建一个目录,可执行下面的命令:

bin/hadoopdfs-mkdirmytest

(2)查看根目录下有哪些文件和子目录,可执行下面的命令:

bin/hadoopdfs-ls

(3)Hadoop自带了支持MapReduce的例子,

sort(排包括grep(在字符串中查找指定的模式)、pi(基于Monte-Carlo法求PI的值)、wordcount序)、

(在指定文件中统计词频)等,这些例子都用了Ja-va实现。如果需统计mytest目录下所有文件中的词及其词频,

可以执行下面命令:

bin/hadoopjarhadoop-0.17.1-examples.jarwordcountmytest/*wordcount_output

执行下面命令则可以查看统计的结果:bin/hadoopdfs-catwordcount_output/part-00000

(4)Hadoop通过streaming机制可以支持用其他语言实现MapReduce程序。例如,源码1和源码2分别用C语言实现一个wordcount(对指定文件统计词及其词频)的mapper和reducer。将其分reducer则可以用别编译成可执行程序mapper、

Hadoop调用这两个程序实现wordcount功能:

bin/hadoopjarcontrib/streaming/hadoop-0.17.reducer1-streaming.jar-mapper~/mapred/mapper-

4结束语

云计算的广泛应用刚刚开始,在未来将会有更

大的发展。本文针对Hadoop对云计算平台的建立过程进行了阐述,对Hadoop的云计算架构做了应用性研究。由于实验条件,并没有在高并发,大容量,高压力的环境下考察云计算平台的稳定性。同时,随着云计算业务的日益发展,用户需求的多样化,也必然对整个云计算的性能提出更高的要求下一步工作将研究基于Hadoop建立的云计算平台的性能参数。参考文献:

[1]邓倩妮,2009,6陈全.云计算及其关键技术[J].计算机应用,

(9).2562-2567.

[2]BRADFORDR,KOTSOVINOSE,FELDMANNA,etal.Live

wide-areamigrationofvirtualmachinesincludinglocalpersistentstate[C]//Procofthe3rdInternationalConferenceonVirtualExe-2007:169-179.cutionEnvironments,

[3]ALEXC,SNOEREN,HARIBALAKRISHNAN.Anendtoend

approachtohostmobility[C]//Procofthe6thAnnualInternationalConferenceonMobileCom-putingandNetworking,2000:155-166.

[4]曹宁,吴中海,刘宏志,张齐勋.HDFS下载效率的优化[J].计

2010,30(8):2060-2065.算机应用,

[5]栾亚建,黄翀民,龚高晟,等.Hadoop平台的性能优化研究[J].

2010,36(14):262-263.计算机工程,

BuildingCloudComputingSystemBasedonHadoop

2*

CHENJun1,,CHENXiao-wei1

(1.CollegeofComputerScience&Information,GuizhouUniversity,Guiyang550025China;2.SchoolofEducationScience,GuizhouNormalUniversity,Guiyang550001China)

Abstract:Cloudcomputingasanewconceptwasproposedintheendof2007,ThispaperhasanalyzedcloudcomputingcharacteristicsandroleoftheHadoop.Hadoopisanopensourcecodeframeforverylargedataprocessapplication,whichrunsonaclusterofcommercialPCs.Itwasusedtocarryoutcloudcomputingplat-formimplementationandexperimentalvalidation.Keywords:Hadoop;cloudcomputing;MapReduce;HDFS

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务