第七讲:hadoop搭建伪分布式模式并启动YARN做词频分析

筅森魡賤 提交于 2020-08-09 10:46:06

以下我们要进行:

1、搭建hadoop伪分布式模式,启动hdfs

2、上传文档到hdfs

3、配置YARN,启动YARN对hdfs里面的文档进行词频分析

首先:

1、确保jdk安装正确

 

2、确保安装并配置hadoop

,以下是hadoop的版本

通过第四讲的配置启动hadoop服务,输入jps可以查看到

3、确保hdfs正常运行

,通过网页可以查看到hdfs页面数据:在浏览器输入:localhost:50070

4、新建一个本地文件

,并且上传到hdfs上面

查看上传的文件内容:

5、配置YARN

首先,什么是YARN?

YARN  的全拼:Yet Another Resource Negotiator  含义是:“另一种资源协调者“  是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。是从Hadoop2开始的。算是MapReduce的升级版。为什么会有升级版本呢?我们下面看下MapReduce 1.0 和 MapReduce2.0(也就是YARN)的区别:

以下是hadoop版本和MapReduce对应的版本关系:

Hadoop版本 MapReduce对应版本
1.X MapReduce1.0
2.X MapReduce2.0

如果你的是hadoop2.X 版本的,如果没有配置YARN,则默认还是用的是1.0的模式。我们下面配置下YARN:

5.1 配置 yarn-env.sh

这个文件是yarn的环境变量参数,在linux中,*.sh文件是脚本文件,一般都是bash脚本。这个文件在hadoop安装文件夹下面的etc文件里面。我这里是/etc/hadoop/hadoop-2.9.2/etc/hadoop/yarn-env.sh  红色路径要根据你自己的安装路径而定。

首先在终端查下电脑上Java_home的路径(每台电脑不一定相同):

用vi或gedit编辑器打开后,配置下java_home:

打开的时候默认java_home变量已经被注释起来了,我们可以去掉#号注释,然后把路径改成我们查询出来的路径:

改变后如下:

5.2配置yarn-site.xml

在yarn-site.xml里可以修改与资源管理模块YARN相关的一些配置。

这个文件在hadoop安装文件夹下面的etc文件里面。我这里是/etc/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml  红色路径要根据你自己的安装路径而定。

打开后如下,里面是空的配置:

我们需要在里面的<configuration>节点里面新增子节点。

yarn.nodemanager.aux-services项用于配置NodeManager上运行的附属服务,的默认值是“” ,可以将其值改为“mapreduce_shuffle”才可以运行MapReduce程序。

yarn.resourcemanager.hostname项目用于配置YARN资源控制器的运行位置,因为我们这里是伪分布运行,那就直接运行在本地localhost就可以了,如果后续部署的是分布式运行模式,有master、client1、client2等多台电脑,则我们可以把value配置成master。

5.3配置:mapred-env.sh

我们要在这个文件里面配置下java_home的路径。

mapred-env.sh和yarn-env.sh文件中配置的变量值会覆盖hadoop-env.sh文件中的变量。 mapred-env.sh位置在:

这个文件在hadoop安装文件夹下面的etc文件里面。我这里是/etc/hadoop/hadoop-2.9.2/etc/hadoop/mapred-env.sh 红色路径要根据你自己的安装路径而定。

同样可以通过echo $JAVA_HOME  来查看java路径。

用vi或gedit编辑器打开后,配置下java_home:

打开的时候默认java_home变量已经被注释起来了,我们可以去掉#号注释,然后把路径改成我们查询出来的路径:

修改后保存:

 

5.4配置mapred-site.xml 

这个文件在hadoop安装文件夹下面的etc文件里面。我这里是/etc/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml.template 红色路径要根据你自己的安装路径而定 。首先把mapred-site.xml.template重新命名为  mapred-site.xml

然后修改内容后保存,这个主要是指定后续的mapreduce运行在yarn上:

5.5运行集群

(1)启动前必须保证NameNode和DataNode已经启动


(2)启动ResourceManager

(3)启动NodeManager

最终我们可以看到哪些进程启动了:

(4)查看yarn是否启动,在浏览器输入 localhost:8088可以查看到  All Applications 的一个界面

6、词频分析

我们使用上一讲的newWrod.txt或者重新上传也没问题。

然后运行分析,$hadoop_home 主要是让系统自动填充hadoop_home的路径,调用的是wordCount方法,读取的是hdfs上面的/user/liurihui/newWord.txt文件,结果输出到hdfs根目录上面的outPut文件夹:

最终显示百分百完成:

我们可以看到hdfs目录上面有:

用cat查看结果:

我们刷新浏览器,可以看到刚才运行的记录:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!