MR job 的集群运行模式

一:YARN -资源管理调度框架


MR job 的集群运行模式_第1张图片

job的执行流程:

1.提交--------RunJar的客户端跟ResourceManager 协作完成job的提交

2.分配资源----resourcemanager和nodemanager 协作完成job运行所需要的资源分配

3.运行Job------Mapreduce框架中的主管进程MRAMaster负责整个Job运行过程的协调控制

二:mr job的几种运行模式

1、在eclipse中开发好mr程序(windows或linux下都可以),然后打成jar包(wc.jar),上传到服务器  执行命令    hadoop jar wc.jar cn.itheima.hadoop.MainClassRunner这种方式会将这个job提交到yarn集群上去运行

2、在Linux的eclipse中直接启动Runner类的main方法,这种方式可以使job运行在本地,也可以运行在yarn集群--究竟运行在本地还是在集群,取决于一个配置参数 mapreduce.framework.name == yarn (local)

 如果确实需要在eclipse中提交到yarn执行,必须做好以下两个设置

     a/将mr工程打成jar包(wc.jar),放在工程目录下

     b/在工程的main方法中,加入一个配置参数  conf.set("mapreduce.job.jar","wc.jar");

3、在windows的eclipse中运行本地模式,步骤为:

    ----a、在windows中找一个地方放一份hadoop的安装包,并且将其bin目录配到环境变量中

    ----b、根据windows平台的版本(32?64?win7?win8?),替换掉hadoop安装包中的本地库(bin,lib)

    ----c、mr程序的工程中不要有参数mapreduce.framework.name的设置

4、在windows的eclipse中运行main方法来提交job到集群执行,比较麻烦

      ----a、类似于方式3中所描述的对本地库兼容性进行改造

      ----b、修改YarnRunner这个类   

你可能感兴趣的:(MR job 的集群运行模式)