1 本地运行模式

  1. mapreduce程序是被提交给LocalJobRunner在本地以单进程的形式运行
  2. 而处理的数据及输出结果可以在本地文件系统,也可以在hdfs上
  3. 怎样实现本地运行?写一个程序,不要带集群的配置文件(本质是你的mr程序的conf中是否有mapreduce.framework.name=local以及yarn.resourcemanager.hostname参数)
  4. 本地模式非常便于进行业务逻辑的debug,只要在eclipse中打断点即可

如果在windows下想运行本地模式来测试程序逻辑,需要在windows中配置环境变量:
%HADOOP_HOME% = d:/hadoop-2.6.1
%PATH% = %HADOOP_HOME%\bin
并且要将d:/hadoop-2.6.1的lib和bin目录替换成windows平台编译的版本

2 集群运行模式

  1. 将mapreduce程序提交给yarn集群resourcemanager,分发到很多的节点上并发执行
  2. 处理的数据和输出结果应该位于hdfs文件系统
  3. 提交集群的实现步骤:
    A、将程序打成JAR包,然后在集群的任意一个节点上用hadoop命令启动
    $ hadoop jar wordcount.jar cn.itcast.bigdata.mrsimple.WordCountDriver inputpath outputpath
    B、直接在linux的eclipse中运行main方法
    (项目中要带参数:mapreduce.framework.name=yarn以及yarn的两个基本配置)
    C、如果要在windows的eclipse中提交job给集群,则要修改YarnRunner类

附:在windows平台上访问hadoop时改变自身身份标识的方法之二
MAPREDUCE程序运行模式
mapreduce程序在集群中运行时的大体流程:
MAPREDUCE程序运行模式

相关文章: