以下我们要进行:
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查看结果:
我们刷新浏览器,可以看到刚才运行的记录:
来源:oschina
链接:https://my.oschina.net/u/4082616/blog/4466935