hadoop3.x mapreduce案例:UID去重(2)(yarn运行) 作者:马育民 • 2025-12-05 23:26 • 阅读:10005 # 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 ``` # 准备数据 数据下载见 [链接](https://www.malaoshi.top/show_1GW2LniEKBE6.html "链接") ### 上传文件 访问 http://hadoop1:9870/explorer.html ,创建 `/mapreduce/filter` 文件夹,如下: [](https://www.malaoshi.top/upload/0/0/1GW2Lloj3Zfo.png) 将上面文件,上传到该文件夹 [](https://www.malaoshi.top/upload/0/0/1GW2LbdgtSSD.png) 最终结果: [](https://www.malaoshi.top/upload/0/0/1GW2Llpsgg7t.png) # 清空结果文件夹 删除 `result` 目录,如下图: [](https://www.malaoshi.top/upload/0/0/1GW2LbgM1uAO.png) # 打成jar包 ### idea 打成 jar 包 通过maven打包,如下图: [](https://www.malaoshi.top/upload/0/0/1GW2LbXydgmg.png) 打包结果如下: [](https://www.malaoshi.top/upload/0/0/1GW2Lm0T1EhE.png) # 将jar包上传到服务器 将上面的 `wordcount-1.0-SNAPSHOT.jar` 包,上传到 `hadoop1` 服务器的 `program` 目录 # 执行 MapReduce 命令 ### 命令格式 ``` hadoop jar jar包名 主启动类 读入数据路径 输出结果路径 ``` ### 例子 ``` hadoop jar wordcount-1.0-SNAPSHOT.jar top.malaoshi.uid.Main /mapreduce/filter /mapreduce/result_filter ``` **注意:** hdfs上不能有 `/mapreduce/result_filter` 文件夹,否则执行报错 执行结果如下图: [](https://www.malaoshi.top/upload/pic/hadoop/QQ20211105104546.png) **解释:** - 先连接 `ResourceManager` ,申请资源 - `WARN mapreduce.JobResourceUploader` 警告,应该用 `ToolRunner` 提交[链接](https://www.malaoshi.top/show_1IX2AfFKxYD8.html "链接") # Hadoop web查看结果 访问 http://hadoop1:9870/ [](https://www.malaoshi.top/upload/0/0/1GW2Lm4KU4XZ.png) **解释:** - `_SUCCESS`:是成功的标识文件 - `part-r-00000`:是结果文件 ### part-r-00000 内容如下图 [](https://www.malaoshi.top/upload/0/0/1GW2Ly4MsoR9.png) # Yarn Web管理界面查看结果 访问:http://hadoop2:8088/ ,显示界面如下: [](https://www.malaoshi.top/upload/0/0/1GW2Ly50yOSD.png) ### 查看历史 点击下图【ID】: [](https://www.malaoshi.top/upload/0/0/1GW2Ly7KS0NL.png) 点击下图【history】: [](https://www.malaoshi.top/upload/0/0/1GW2Ly6sJobI.png) 查看map、reduce: [](https://www.malaoshi.top/upload/pic/hadoop/Snipaste_2021-11-06_11-18-22.png) 由于是2个文件,所以有 2个 map task执行,由 1个 reduce task统计 原文出处:http://malaoshi.top/show_1GW2Ly8cSMOO.html