用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx

上传人:b****3 文档编号:14384549 上传时间:2022-10-22 格式:DOCX 页数:12 大小:356.97KB
下载 相关 举报
用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx_第1页
第1页 / 共12页
用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx_第2页
第2页 / 共12页
用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx_第3页
第3页 / 共12页
用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx_第4页
第4页 / 共12页
用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx

《用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx》由会员分享,可在线阅读,更多相关《用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

用Linux和ApacheHadoop进行云计算说课讲解Word下载.docx

ApacheHadoop作为PaaS,它构建在虚拟主机上,作为云计算平台。

图1.云计算的层和现有服务

回页首

AmazonEC2

AmazonEC2是一个Web服务,它允许用户请求具有各种资源(CPU、磁盘、内存等)的虚拟机器。

用户只需按使用的计算时间付费,其他事情全交给Amazon处理。

这些实例(AmazonMachineImage,AMI)基于Linux,可以运行您需要的任何应用程序或软件。

在从Amazon租借服务器之后,可以像对待物理服务器一样使用一般的SSH工具设置连接和维护服务器。

对EC2的详细介绍超出了本文的范围。

更多信息请参见参考资料。

部署Hadoop云计算框架的最好方法是把它部署在AMI上,这样可以利用云资源,不需要考虑计算能力、带宽、存储等问题。

但是,在本文的下一部分中,我们将在本地的Linux服务器VMWare映像中构建Hadoop,因为Hadoop不仅适用于云解决方案。

在此之前,我们先介绍一下ApacheHadoop。

ApacheHadoop

ApacheHadoop是一个软件框架(平台),它可以分布式地操纵大量数据。

它于2006年出现,由Google、Yahoo!

和IBM等公司支持。

可以认为它是一种PaaS模型。

它的设计核心是MapReduce实现和HDFS(HadoopDistributedFileSystem),它们源自MapReduce(由一份Google文件引入)和GoogleFileSystem。

MapReduce

MapReduce是Google引入的一个软件框架,它支持在计算机(即节点)集群上对大型数据集进行分布式计算。

它由两个过程组成,映射(Map)和缩减(Reduce)。

在映射过程中,主节点接收输入,把输入分割为更小的子任务,然后把这些子任务分布到工作者节点。

工作者节点处理这些小任务,把结果返回给主节点。

然后,在缩减过程中,主节点把所有子任务的结果组合成输出,这就是原任务的结果。

图2说明MapReduce流程的概念。

MapReduce的优点是它允许对映射和缩减操作进行分布式处理。

因为每个映射操作都是独立的,所有映射都可以并行执行,这会减少总计算时间。

HDFS

对HDFS及其使用方法的完整介绍超出了本文的范围。

从最终用户的角度来看,HDFS就像传统的文件系统一样。

可以使用目录路径对文件执行CRUD操作。

但是,由于分布式存储的性质,有“NameNode”和“DataNode”的概念,它们承担各自的责任。

NameNode是DataNode的主节点。

它在HDFS中提供元数据服务。

元数据说明DataNode的文件映射。

它还接收操作命令并决定哪些DataNode应该执行操作和复制。

DataNode作为HDFS的存储块。

它们还响应从NameNode接收的块创建、删除和复制命令。

JobTracker和TaskTracker

在提交应用程序时,应该提供包含在HDFS中的输入和输出目录。

JobTracker作为启动MapReduce应用程序的单一控制点,它决定应该创建多少个TaskTracker和子任务,然后把每个子任务分配给TaskTracker。

每个TaskTracker向JobTracker报告状态和完成后的任务。

通常,一个主节点作为NameNode和JobTracker,从节点作为DataNode和TaskTracker。

Hadoop集群的概念视图和MapReduce的流程见图2。

图2.Hadoop集群的概念视图和MapReduce的流程

设置ApacheHadoop

现在在LinuxVM上设置Hadoop集群,然后就可以在Hadoop集群上运行MapReduce应用程序。

ApacheHadoop支持三种部署模式:

∙单独模式:

在默认情况下,Hadoop以非分布的单独模式运行。

这个模式适合应用程序调试。

∙伪分布模式:

Hadoop还可以以单节点的伪分布模式运行。

在这种情况下,每个Hadoop守护进程作为单独的Java™进程运行。

∙全分布模式:

Hadoop配置在不同的主机上,作为集群运行。

要想以单独或伪分布模式设置Hadoop,请参考Hadoop的网站。

在本文中,我们只讨论以全分布模式设置Hadoop。

准备环境

在本文中,我们需要三台GNU/Linux服务器;

一个作为主节点,另外两个作为从节点。

表1.服务器信息

服务器IP

服务器主机名

角色

9.30.210.159

Vm-9-30-210-159

主节点(NameNode和JobTracker)

9.30.210.160

Vm-9-30-210-160

从节点1(DataNode和TaskTracker)

9.30.210.161

Vm-9-30-210-161

从节点2(DataNode和TaskTracker)

每台机器都需要安装JavaSE6和Hadoop二进制代码。

更多信息见参考资料。

本文使用Hadoopversion0.19.1。

还需要在每台机器上安装SSH并运行sshd。

SUSE和RedHat等流行的Linux发行版在默认情况下已经安装了它们。

设置通信

更新/etc/hosts文件,确保这三台机器可以使用IP和主机名相互通信。

因为Hadoop主节点使用SSH与从节点通信,所以应该在主节点和从节点之间建立经过身份验证的无密码的SSH连接。

在每台机器上执行以下命令,从而生成RSA公共和私有密钥。

ssh-keygen–trsa

这会在/root/.ssh目录中生成id_rsa.pub。

重命名主节点的id_rsa.pub(这里改名为59_rsa.pub)并把它复制到从节点。

然后执行以下命令,把主节点的公共密钥添加到从节点的已授权密钥中。

cat/root/.ssh/59_rsa.pub>

>

/root/.ssh/authorized_keys

现在尝试使用SSH连接从节点。

应该可以成功连接,不需要提供密码。

设置主节点

把Hadoop设置为全分布模式需要配置<

Hadoop_home>

/conf/目录中的配置文件。

在hadoop-site.xml中配置Hadoop部署。

这里的配置覆盖hadoop-default.xml中的配置。

表2.配置属性

属性

解释

fs.default.name

NameNodeURI

mapred.job.tracker

JobTrackerURI

dfs.replication

复制的数量

hadoop.tmp.dir

临时目录

hadoop-site.xml

<

?

xmlversion="

1.0"

xml-stylesheettype="

text/xsl"

href="

configuration.xsl"

!

--Putsite-specificpropertyoverridesinthisfile.-->

configuration>

<

property>

name>

fs.default.name<

/name>

value>

hdfs:

//9.30.210.159:

9000<

/value>

/property>

mapred.job.tracker<

9.30.210.159:

9001<

dfs.replication<

1<

hadoop.tmp.dir<

/root/hadoop/tmp/<

/configuration>

通过配置hadoop-env.sh文件指定JAVA_HOME。

注释掉这一行并指定自己的JAVA_HOME目录。

exportJAVA_HOME=<

JAVA_HOME_DIR>

在master文件中添加主节点的IP地址。

9.30.210.159

在slave文件中添加从节点的IP地址。

9.30.210.160

9.30.210.161

设置从节点

把hadoop-site.xml、hadoop-env.sh、masters和slaves复制到每个从节点;

可以使用SCP或其他复制工具。

对HDFS进行格式化

运行以下命令对HDFS分布式文件系统进行格式化。

/bin/hadoopnamenode-format

检查Hadoop集群

现在,可以使用bin/start-all.sh启动Hadoop集群。

命令输出指出主节点和从节点上的一些日志。

检查这些日志,确认一切正常。

如果弄乱了什么东西,可以格式化HDFS并清空hadoop-site.xml中指定的临时目录,然后重新启动。

访问以下URL,确认主节点和从节点是正常的。

NameNode:

http:

50070

JobTracker:

50030

现在,已经在云中设置了Hadoop集群,该运行MapReduce应用程序了。

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

当前位置:首页 > 人文社科 > 哲学历史

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

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