Hadoop云计算平台实验可行性研究报告.docx

上传人:b****4 文档编号:618668 上传时间:2022-10-11 格式:DOCX 页数:30 大小:5.08MB
下载 相关 举报
Hadoop云计算平台实验可行性研究报告.docx_第1页
第1页 / 共30页
Hadoop云计算平台实验可行性研究报告.docx_第2页
第2页 / 共30页
Hadoop云计算平台实验可行性研究报告.docx_第3页
第3页 / 共30页
Hadoop云计算平台实验可行性研究报告.docx_第4页
第4页 / 共30页
Hadoop云计算平台实验可行性研究报告.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

Hadoop云计算平台实验可行性研究报告.docx

《Hadoop云计算平台实验可行性研究报告.docx》由会员分享,可在线阅读,更多相关《Hadoop云计算平台实验可行性研究报告.docx(30页珍藏版)》请在冰豆网上搜索。

Hadoop云计算平台实验可行性研究报告.docx

Hadoop云计算平台实验可行性研究报告

 

Hadoop云计算平台实验可行性研究报告

 

1实验目标3

2实验原理4

2.1Hadoop工作原理4

2.2实验设计6

2.2.1可扩展性6

2.2.2稳定性7

2.2.3可靠性7

3实验过程9

3.1实验环境9

3.1.1安装Linux操作系统10

3.1.2安装Java开发环境14

3.1.3安装SSH15

3.1.4配置网络15

3.1.5创建SSH密钥安全联机19

3.1.6配置Hadoop云计算系统19

3.1.7配置Slaves节点23

3.1.8格式化Hadoop系统23

3.1.9启动Hadoop集群23

3.22.实验过程25

3.2.1可扩展性25

3.2.1.1动态扩展25

3.2.1.2动态缩减27

3.2.2稳定性28

3.2.3可靠性31

3.2.4MapReduce词频统计测试32

14实验总结35

2实验目标

1.掌握Hadoop安装过程

2.理解Hadoop工作原理

3.测试Hadoop系统的可扩展性

4.测试Hadoop系统的稳定性

35.测试Hadoop系统的可靠性

4实验原理

4.1Hadoop工作原理

Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成集群上运行应用程序,为应用程序提供一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。

Hadoop框架中最核心的设计就是:

MapReduce和HDFS。

MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。

HDFS是Hadoop分布式文件系统(HadoopDistributedFileSystem)的缩写,为分布式计算、存储提供了底层支持。

HDFS采用C/S架构,对外部客户机而言,HDFS就像一个传统的分级文件系统。

可以对文件执行创建、删除、重命名或者移动等操作。

HDFS中有三种角色:

客户端、NameNode和DataNode。

HDFS的结构示意图见图1。

NameNode是一个中心服务器,存放着文件的元数据信息,它负责管理文件系统的名字空间以及客户端对文件的访问。

DataNode节点负责管理它所在节点上的存储。

NameNode对外暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。

从内部看,文件被分成一个或多个数据块,这些块存储在一组DataNode上,HDFS通过块的划分降低了文件存储的粒度,通过多副本技术和数据校验技术提高了数据的高可靠性。

NameNode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。

它也负责确定数据块到具体DataNode节点的映射。

DataNode负责存放数据块和处理文件系统客户端的读写请求。

在NameNode的统一调度下进行数据块的创建、删除和复制。

图1HDFS体系结构示意图

客户端要访问一个文件,首先从NameNode获得组成文件的数据块的位置列表;然后直接与相应的DataNode建立连接并读取文件数据。

数据流不经过NameNode节点。

Hadoop通过MapReduce进行海量数据处理,它是一个并行处理大规模数据的软件框架。

MapReduce的设计思想基于“移动计算靠近存储”,在面向海量数据处理的技术中,通过网络将数据传输到用于计算的节点所消耗的开销远大于处理数据所需要的开销,而MapReduce将数据的处理任务交给了存储该数据的节点,避免了数据传输所带来的开销。

MapReduce的根源是函数性变成种的map和reduce函数,它由两个包含多个实例(许多的Map和Reduce)的操作组成。

Map函数接收一组数据并将其转换成一个键/值对列表,输入域中的每个元素对应于一个键/值对。

Reduce函数接收Map函数生成列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表。

MapReduce的数据处理流程示意图如图2所示:

MapReduce也采用C/S架构,其中JobTracker负责作业调度,TaskTracker负责任务执行。

用户提交基于MapReduce变成规范的作业之后,JobTracker根据作业的输入数据的分布情况(在HDFS之中),将Map任务指派到存储这些数据块的DataNode上执行(DataNode也充当了TaskTracker),Map完成之后会根据用户提交的Reduce任务数对中间结果进行分区存储在Map任务节点本地的磁盘,执行Reduce任务的节点(由JobTracker指派)通过轮询的方式从各Map节点拉取Reduce的输入数据,并在Reduce任务节点的内存进行排序后进行合并作为reduce函数的输入,输出结果又输出到HDFS中进行存储。

图2MapReduce数据处理流程示意图

除了HDFS和MapReduce这两个核心子项目之外,Hadoop还包括Hbase和Hive以及Pig、ZooKeeper、Avro、Chukwa等项目。

其中Hbase是一个分布式的基于列(列族)存储的数据库,它使用HDFS作为底层存储,同时支持MapReduce的批量是计算和点查询。

Hive一个分布式的数据仓库,使用HDFS进行数据存储,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用于查询数据。

4.2实验设计

本实验主要是针对Hadoop系统的可扩展性、稳定性、可靠性,其中主要针对HDFS进行测试,最后给出MapReduce的一个词频统计的实例。

4.2.1可扩展性

Hadoop系统支持系统的动态扩容,只需要修改修改各节点的slaves文件,将需要添加的数据或计算节点加入进来,或者删掉需要注销的数据或计算节点即可,只要新加入的节点已经成功配置了Hadoop,那么就可以通过启动新的节点来实现动态扩容;对于删除节点,跟添加节点类似,将slave配置信息中删除该节点,然后在停掉该节点的数据服务即可。

有的时候,需要向集群中增加新的机器时又不能重启集群。

我们可以采用下面的过程来实现Hadoop系统的动态扩展而不用重启集群。

1.把新机器的增加到conf/slaves文件中(Datanode或者Tasktracker则可跳过)

2.在新机器上进入hadoop安装目录

$bin/hadoop-daemon.shstartdatanode

$bin/hadoop-daemon.shstarttasktracker

3.在Master即Namenode上执行如下指令,实现系统负载的平衡:

对于要删除某一个节点,我们可以执行如下过程,而不需重启服务器:

1.从conf/slaves文件中移除该节点

2.在待移除节点上执行如下指令

$bin/hadoop-daemon.shstopdatanode

$bin/hadoop-daemon.shstoptasktracker

3.在Master即Namenode上执行如下指令,实现系统负载的平衡:

$bin/hadoopbalancer

4.2.2稳定性

Hadoop系统架构在通用商用机上,HDFS的设计思想将普通硬件故障视为常态,个别机器的故障不影响系统的正常运行。

通过将足够大文件上传到HDFS上,使文件散布到多个节点上,然后通过人为切断某一台机器的网络,如果系统还能正常提供服务,则说明系统是稳定的,因为本系统只有3个数据节点,副本数设定为2,所以只能切断一台服务器来验证系统的稳定性。

当系统规模足够大的时候,文件散布的更加分散,可以允许更多的机器故障。

4.2.3可靠性

因为Hadoop的文件系统采用了多副本技术保证了数据的可靠性,如果发生了副本损害或者副本丢失,用户仍然可以通过其他副本进行数据访问和数据操作,

从而保证数据的可靠性。

HDFS的NameNode有一个后台进程进行文件块的扫描,如果当前某一个数据块的副本数低于系统设定的安全阈值,那么NameNode就会启动相关进程,完成副本的复制,直到副本数达到安全阈值的要求。

可以通过分析数据分布,或者通过MapReduce进行词频统计来验证数据的可靠性。

5实验过程

5.1实验环境

设计Hadoop实验平台之前,在考虑一般用户或者中小企业不可能购买和安置大量服务器的情况下,要学习Hadoop的最佳方式就是通过虚拟平台来仿真云计算系统分布式运行的工作模式。

在虚拟技术支持下,只需要一台够强力的计算机,然后在其上运行VirtualBox、Xen或者VMware之类的虚拟软件,依照计算机本身的能力,虚拟出3-5台Linux操作系统,每一个虚拟操作系统上都运行Hadoop系统,就可以完成一个小型的Hadoop实验平台。

考虑到实验室的计算机的硬件配置不高以及实验室作为公共实验环境,计算机都安装了Windows操作系统的实际情况,我们只能通过在每台计算机上安装虚拟软件,通过虚拟软件安装虚拟的linux操作系统,然后在操作系统中安装Hadoop系统,通过各个虚拟linux操作系统的互连,完成Hadoop实验平台的搭建。

Hadoop实验平台配置方式如图3所示:

图3Hadoop实验平台配置方式

Hadoop当前的运行平台为Linux,至于Win32平台则还在开发阶段,尚不成熟,因此,在Windows物理机上通过虚拟软件采用Ubuntu散布套件来安装Linux,然后将Hadoop构建与Linux平台之上,是一种最简单的方式,各个虚拟Linux系统上都必须装有如下软件:

●UbuntuLinux操作系统

●Hadoop云计算系统

●Java6开发环境

由于各个物理机均采用同构的方式进行安装,所以只需要安装一台虚拟机,然后将虚拟机文件拷贝到其他机器上,进入linux虚拟系统,修改相关配置信息即可。

5.1.1安装Linux操作系统

首先需要Ubuntu操作系统的ISO镜像,可以去Ubuntu的官方网站下载:

http:

//www.ubuntu.org.我们下载的是Ubuntu10.1032bitDesktop版。

启动WMware软件,点击“File”菜单,选择“CreateaNewVirtualMachine”菜单项,弹出NewVirtualMachineWinzard对话框如下图所示:

选择“Installerdiscimagefile(iso)”选项,通过“Browser”安装选中需要使用的Ubuntu操作系统的ISO文件(也可以通过Ubuntu的安装光盘进行安装,此略)。

单击“next”,出现用户名及密码设定对话框,如下图所示:

在文本输入框中分别输入用户名以及用户密码等,点击“next”,出现配置节点名以及虚拟机系统在本地磁盘的存放路径的对话框,如下图所示:

点击“next”,出现配置磁盘容量的对话框,此对话框指定Ubuntu操作系统的磁盘空间,不能超过本地磁盘分区剩余的可用空间。

点击“next”,出现配置信息的确认对话框,如下图所示:

如果需要修改,则可以返回,如果不需要修改,直接点击“Finish”,完成虚拟机的配置,接下来开始安装Ubuntu操作系统。

因为是通过虚拟化软件安装虚拟操作系统,所以安装过程不像在物理机上直接安装linux操作系统那样,需要选择磁盘分区、创建帐户、选择键盘布局、选择时区、选择语言等等步骤。

安装完成后,就可以启动并登陆刚才安装的虚拟机了。

登陆成功之后,如下图所示,至此,Ubuntu虚拟机已经安装完成,下一步,我们开始在Ubuntu系统中安装Hadoop系统及其支撑环境。

5.1.2安装Java开发环境

因为实验室不能接入互联网,所以不能使用Ubuntu提供的apt-get指令进行相

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1