4.8 运行模式
完成条件
4.8.1 本地模式
MapReduce 程序是被提交给 LocalJobRunner 在本地以单进程的形式运行
处理的数据及输出结果可以在本地文件系统, 也可以在hdfs上
怎样实现本地运行? 写一个程序, 不要带集群的配置文件, 本质是程序的 conf中是否有 mapreduce.framework.name=local 以及 yarn.resourcemanager.hostname=local 参数
本地模式非常便于进行业务逻辑的 Debug, 只要在 idea中打断点即可
configuration.set("mapreduce.framework.name","local");
configuration.set(" yarn.resourcemanager.hostname","local");
TextInputFormat.addInputPath(job,new Path("/Users/huzhongliang/Desktop/wordcount/input"));
TextOutputFormat.setOutputPath(job,new Path("/Users/huzhongliang/Desktop/wordcount/output"));
如果在windows下想运行本地模式来测试程序逻辑,需要在windows中配置环境变量:
%HADOOP_HOME% = d:/hadoop-3.1.3
%PATH% = %HADOOP_HOME%\bin
并且要将d:/hadoop-3.1.3的lib和bin目录替换成windows平台编译的版本
4.8.2 集群模式
将 MapReduce 程序提交给 Yarn 集群, 分发到很多的节点上并发执行
处理的数据和输出结果应该位于 HDFS 文件系统
提交集群的实现步骤: 将程序打成JAR包,然后在集群的任意一个节点上用yarn命令启动
yarn jar t1_test-1.0-SNAPSHOT.jar com.briup.MR.WorldCount -D input=/user/hdfs/words.txt -D output=/user/hdfs/words_result
最后修改: 2023年12月28日 星期四 15:17