Linux和ApacheHadoop实现云计算,有关Hadoop集群概念介绍

本节和大家一起学习一下有关使用Linux和ApacheHadoop进行云计算的相关内容,主要包括Hadoop集群的概念视图和MapReduce的流程,欢迎大家一起来学习有关云计算方面的知识。

创新互联专注于企业全网整合营销推广、网站重做改版、容县网站定制设计、自适应品牌网站建设、H5页面制作购物商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为容县等各大城市提供网站开发制作服务。

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

设置ApacheHadoop

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

ApacheHadoop支持三种部署模式:

单独模式:在默认情况下,Hadoop以非分布的单独模式运行。这个模式适合应用程序调试。
伪分布模式:Hadoop还可以以单节点的伪分布模式运行。在这种情况下,每个Hadoop守护进程作为单独的Java?进程运行。
全分布模式:Hadoop配置在不同的主机上,作为集群运行。
要想以单独或伪分布模式设置Hadoop,请参考Hadoop的网站。在本文中,我们只讨论以全分布模式设置Hadoop。

准备环境

在本文中,我们需要三台GNU/Linux服务器;一个作为主节点,另外两个作为从节点。

表1.服务器信息
服务器IP服务器主机名角色
9.30.210.159Vm-9-30-210-159主节点(NameNode和JobTracker)
9.30.210.160Vm-9-30-210-160从节点1(DataNode和TaskTracker)
9.30.210.161Vm-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设置为全分布模式需要配置/conf/目录中的配置文件。
在hadoop-site.xml中配置Hadoop部署。这里的配置覆盖hadoop-default.xml中的配置。

表2.配置属性
属性解释
fs.default.nameNameNodeURI
mapred.job.trackerJobTrackerURI
dfs.replication复制的数量
hadoop.tmp.dir临时目录

通过配置hadoop-env.sh文件指定JAVA_HOME。注释掉这一行并指定自己的JAVA_HOME目录。
exportJAVA_HOME=
在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://9.30.210.159:50070
JobTracker:http://9.30.210.159:50030
现在,已经在云中设置了Hadoop集群,该运行MapReduce应用程序了。

建MapReduce应用程序

MapReduce应用程序必须具备“映射”和“缩减”的性质,也就是说任务或作业可以分割为小片段以进行并行处理。然后,可以缩减每个子任务的结果,得到原任务的结果。这种任务之一是网站关键字搜索。搜索和抓取任务可以分割为子任务并分配给从节点,然后在主节点上聚合所有结果并得到最终结果。

试用示例应用程序

Hadoop附带一些用于测试的示例应用程序。其中之一是单词计数器,它统计某一单词在几个文件中出现的次数。通过运行这个应用程序检查Hadoop集群。
首先,把输入文件放在分布式文件系统中(conf/目录下面)。我们将统计单词在这些文件中出现的次数。
$bin/hadoopfs–putconfinput
然后,运行这个示例应用程序,以下命令统计以“dfs”开头的单词出现的次数。
$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'

 命令的输出说明映射和缩减过程:

前两个命令会在HDFS中生成两个目录,“input”和“output”。可以使用以下命令列出它们。
$bin/hadoopfs–ls
查看分布式文件系统中已经输出的文件。它以键-值对的形式列出以“dfs*”开头的单词出现的次数。
$bin/hadoopfs-catouput/*
现在,访问JobTracker站点查看完成的作业日志。

创建LogAnalyzerMapReduce应用程序:

现在创建一个Portal(IBMWebSphere?Portalv6.0)LogAnalyzer应用程序,它与Hadoop中的WordCount应用程序有许多共同点。这个分析程序搜索所有Portal的SystemOut*.log文件,显示在特定的时间段内应用程序在Portal上启动了多少次。在Portal环境中,所有日志分割为5MB的片段,很适合由几个节点并行地分析。本节关于使用Linux和ApacheHadoop进行云计算中Hadoop集群方面的内容介绍完毕。

新闻标题:Linux和ApacheHadoop实现云计算,有关Hadoop集群概念介绍
网站地址:http://www.mswzjz.com/qtweb/news26/204726.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联