途径1:

途径2:

途径3:

成功!

由此,可以好好比较下,途径1和途径2 和途径3 的区别。

现在,来玩玩weekend110的joba提交的逻辑之源码跟踪

原来如此,weekend110的job提交的逻辑源码,停在这了

hello world

hello tom

helllo jim

jim is a bad boy

hello jack

hello baby

baby is my nvshen

hello world

hello tom

helllo jim

jim is a bad boy

hello jack

hello baby

baby is my nvshen

不再一个一个放了。直接放完吧,map

a       1

baby    2

bad     1

boy     1

helllo  1

hello   4

is      2

jack    1

jim     2

my      1

nvshen  1

tom     1

world

以上是weekend110的job提交的逻辑之源代码跟踪

接下来是yarn框架的技术机制,

Resourcemanager和nodemanager进程一直在,

Yarnchild进程一会在,一会不在,

以上是weekend110的job提交的逻辑及YARN框架的技术机制

MR程序的几种提交运行模式

本地模型运行:

1/在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行

----输入输出数据可以放在本地路径下(c:/wc/srcdata/)

----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)

2/在linux的eclipse里面直接运行main方法,但是不要添加yarn相关的配置,也会提交给localjobrunner执行

----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)

----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)

集群模式运行:

1/将工程打成jar包,上传到服务器,然后用hadoop命令提交  hadoop jar wc.jar cn.itcast.hadoop.mr.wordcount.WCRunner

2/在linux的eclipse中直接运行main方法,也可以提交到集群中去运行,但是,必须采取以下措施:

----在工程src目录下加入 mapred-site.xml  和  yarn-site.xml

----将工程打成jar包(wc.jar),同时在main方法中添加一个conf的配置参数 conf.set("mapreduce.job.jar","wc.jar");

3/在windows的eclipse中直接运行main方法,也可以提交给集群中运行,但是因为平台不兼容,需要做很多的设置修改

----要在windows中存放一份hadoop的安装包(解压好的)

----要将其中的lib和bin目录替换成根据你的windows版本重新编译出的文件

----再要配置系统环境变量 HADOOP_HOME  和 PATH

----修改YarnRunner这个类的源码

玄机是在Runjar,

Runjar客户端,它持有的是跟rm通信的那个客户端,它就会往那走

Runjar客户端,它持有的是跟本地模式通信的那个客户端,它就会提交到本地去了

那么,它在什么情况之下,持有rm客户端,什么情况下,持有本地客户端呢?

看源码最清楚

配置对象,没配任何信息,默认就会创建一个跟本地模式通信的Runjar,

MR程序的几种提交运行模式

演示:

2/在linux的eclipse里面直接运行main方法,但是不要添加yarn相关的配置,也会提交给localjobrunner执行

----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)

----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)

在这里,依然还是没解决,windows是用的是jpk,这里用的是utf-8,告诫我们,平常要习惯用utf-8

1 Common的jar包和 2 hdfs的jar包,已经加过了,

还需,3 mapreduce的jar包 4 mapreduce下lib下的jar 和5 yarn的jar包和6 yarn下lib的jar包。

hadoop没启,这只是在linux里的jvm运行。

这说明,跑的mr的确是在本地,

情况四:

总结,eclipse开发,若在windows下,需要插件,一般牛人会ant编译出一个插件,挂到csdn上,卖积分。也许,这位牛人弄出来的插件在他电脑上是可以,但到别人电脑上又不可以了。所以,一般能在linux里的eclipse下开发最好不过了。这样可避免插件浪费很多时间。

3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式的更多相关文章

  1. Hadoop中MR程序的几种提交运行模式

    本地模型运行 1:在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行       ----输入输出数据可以放在本地路径下(c:/wc ...

  2. MR程序的几种提交运行模式

    本地模式运行 1-在windows的eclipse里面直接运行main方法 将会将job提交给本地执行器localjobrunner 输入输出数据可以放在本地路径下 输入输出数据放在HDFS中:(hd ...

  3. 3 weekend110的shuffle机制 + mr程序的组件全貌

    前面,讲到了hadoop的序列化机制,mr程序开发,自定义排序,自定义分组. 有多少个reduce的并发任务数可以控制,但有多少个map的并发任务数还没 缓存,分组,排序,转发,这些都是mr的shuf ...

  4. MapReduce程序的几种提交运行模式

    本地模型运行 1/在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行      ----输入输出数据可以放在本地路径下(c:/wc/ ...

  5. MR程序本地调试,提交到集群运行

    在本地调试,提交到集群上运行. 在本地程序中的Configuration中添加如下配置: Configuration conf = new Configuration(); conf.set(&quo ...

  6. Windows下Eclipse提交MR程序到HadoopCluster

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 欢迎转载,转载请注明出处. 以前Eclipse上写好的MapReduce项目经常是打好包上传到Hadoop测试集 ...

  7. 4 weekend110的textinputformat对切片规划的源码分析 + 倒排索引的mr实现 + 多个job在同一个main方法中提交

    好的,现在,来weekend110的textinputformat对切片规划的源码分析, Inputformat默认是textinputformat,一通百通. 这就是今天,weekend110的te ...

  8. 总结:JSP几种提交表单方法

    问题描述: 最近进了一家“老公司”工作,说他老不是说他成立的早,是因为他的编程框架太l.......low了.EJB的规范模式,使用是IBM经过Eclipse二次开发出来的RAD(Rational A ...

  9. 2 weekend110的mapreduce介绍及wordcount + wordcount的编写和提交集群运行 + mr程序的本地运行模式

    把我们的简单运算逻辑,很方便地扩展到海量数据的场景下,分布式运算. Map作一些,数据的局部处理和打散工作. Reduce作一些,数据的汇总工作. 这是之前的,weekend110的hdfs输入流之源 ...

随机推荐

  1. Nginx常用伪静态规则(rewrite)-Discuz X3.2-WordPress-PHPCMS-ECSHOP-SHOPE(转)

    当我们从apache服务器转向Nginx服务器的时候,它们的伪静态规则就不一样了,所以你熟悉Nginx服务器的伪静态规则,自己写当然也好.不了解Nginx服务器的伪静态规则的,为方便各位站长,收集了这 ...

  2. Uploadify 上传失败

    更改Apache的php.ini的配置 In my php.ini (created custom ini file in public_html) would this solve this pro ...

  3. vi或vim快捷键

    1.dG:这是删除光标所在行到最后一行的内容(包括光标所在行的内容) 2.ggVG全选

  4. C# 程序关闭和进程关闭

    this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中止, ...

  5. MVC + JQUERY + AJAX

  6. 2016030207 - sql50题练习(脚本)

    我的mysql版本是5.下面是要进行sql练习题使用的脚本.脚本是我整理出来的,在我本地直接复制执行就可以使用! 参考网址是:http://blog.csdn.net/zhangyulin54321/ ...

  7. Js处理数据——前端分页工具

    这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具. 分页是个很简单又超多接触的技术点,粗略来讲分如下两种: 真分页--每次根据页码.页大小 ...

  8. WebComponent

    WebComponent 前言  最近加入到新项目组负责前端技术预研和选型,一直偏向于以Polymer为代表的WebComponent技术线,于是查阅各类资料想说服老大向这方面靠,最后得到的结果是:& ...

  9. CSS3------background-size(背景图片尺寸属性)

    background-size 可以设置背景图片的大小,数值包括 长度length和百分比percentage. 并且会根据背景原点位置 background-origin 设置其图片覆盖的范围.那么 ...

  10. EXCEL : We can't do that to a merged cell.