hadoop3.x mapreduce 实现wordcount-在yarn执行、查看结果

yarn 运行 MapReduce

  1. 将 mapreduce 程序 提交给 yarn,分发到多个节点上并发执行

  2. 读取的数据 和 输出结果 在 HDFS 上

准备服务

要先启动 HDFS、yarn

启动 HDFS ,MapReduce 要读写 HDFS上的文件
启动 yarn,因为 MapReduce 程序运行在yarn上

整体启动

登录 hadoop1 ,执行下面命令:

/program/bin/hadoop.sh start

分别启动

启动 HDFS

登录 hadoop1 ,执行下面命令:

start-dfs.sh
启动 yarn

登录 hadoop2 ,执行下面命令:

start-yarn.sh

准备数据

创建文件 1.txt

内容:

李雷 lucy
lili 韩梅梅
lucy lili

创建文件 2.txt

内容:

java hadoop
hadoop hdfs
hdfs MapReduce

上传文件

访问 http://hadoop1:9870/explorer.html ,创建 wordcount 文件夹,如下:

将上面的 2 个文件,上传到该文件夹

清空结果文件夹

删除 result 目录,如下图:

打成jar包

idea 打成 jar 包

通过maven打包,如下图:

打包结果如下:

eclipse 打成 jar 包

eclipse maven 打成jar包(跳过test)

将jar包上传到服务器

将上面的 wordcount-1.0-SNAPSHOT.jar 包,上传到 hadoop1 服务器的 program 目录

执行 MapReduce 命令

命令格式

hadoop jar jar包名 主启动类 读入数据路径 输出结果路径

例子

hadoop jar wordcount-1.0-SNAPSHOT.jar top.malaoshi.Main /wordcount /result

注意: hdfs上不能有 /result 文件夹,否则执行报错

执行结果如下图:

解释:

  • 先连接 ResourceManager ,申请资源
  • WARN mapreduce.JobResourceUploader 警告,应该用 ToolRunner 提交链接

Hadoop web查看结果

访问 http://hadoop1:9870/

解释:

  • _SUCCESS:是成功的标识文件
  • part-r-00000:是结果文件

part-r-00000 内容如下图

Yarn Web管理界面查看结果

访问:http://hadoop2:8088/ ,显示界面如下:

查看历史

点击下图【ID】:

点击下图【history】:

查看map、reduce:

由于是2个文件,所以有 2个 map task执行,由 1个 reduce task统计


原文出处:/show_1IX2B0hO3DKh.html