hadoop2提交到Yarn: Mapreduce执行过程分析2-Hadoop2|YARN-about云开发

问题导读:

1.hadoop哪些数据类型,是如何与Java数据类型对应的?

2.ApplicationMaster什么时候启动?

3.YarnChild进程什么时候产生?

4.如果在recuece的情况下,map任务完成暂总任务的多少百分比?

5.run的执行步骤是什么?

6.哪个方法来执行具体的map任务?

7.获取配置信息为哪个类?

8.TaskAttemptContextImpl还增加了什么信息?
继续阅读“hadoop2提交到Yarn: Mapreduce执行过程分析2-Hadoop2|YARN-about云开发”

hadoop2提交到Yarn: Mapreduce执行过程分析1-Hadoop2|YARN-about云开发

1.为什么会产生Yarn?

2.Configuration类的作用是什么?

3.GenericOptionsParser类的作用是什么?

4.如何将命令行中的参数配置到变量conf中?

5.哪个方法会获得传入的参数?

6.如何在命令行指定reduce的个数?

7.默认情况map、reduce为几?

8.setJarByClass的作用是什么?

9.如果想在控制台打印job(maoreduce)当前的进度,需要设置哪个参数?

10.配置了哪个参数,在提交job的时候,会创建一个YARNRunner对象来进行任务的提交?

11.哪个类实现了读取yarn-site.xml、core-site.xml等配置文件中的配置属性的?

12.JobSubmitter类中的哪个方法实现了把job提交到集群?

13.DistributedCache在mapreduce中发挥了什么作用?

14.对每个输入文件进行split划分,是物理划分还是逻辑划分,他们有什么区别?

15.分片的大小有哪些因素来决定

16.分片是如何计算得来的?
继续阅读“hadoop2提交到Yarn: Mapreduce执行过程分析1-Hadoop2|YARN-about云开发”

hadoop 2.2 集群 和eclipse 怎么配置_百度知道

Eclipse调用hadoop运行MR程序其实就是普通的java程序可以提交MR任务到集群执行而已。在Hadoop1中,只需指定jt(jobtracker)和fs(namenode)即可,一般如下:

Configuration conf = new Configuration();
conf.set(“mapred.job.tracker”, “192.168.128.138:9001”);
conf.set(“fs.default.name”,”192.168.128.138:9000″);

上面的代码在hadoop1中运行是ok的,完全可以使用java提交任务到集群运行。但是,hadoop2却是没有了jt,新增了yarn。这个要如何使用呢?最简单的想法,同样指定其配置,试试。 继续阅读“hadoop 2.2 集群 和eclipse 怎么配置_百度知道”

Hadoop基础教程之高级编程 – 程序园

从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤:

1.输入(input):将输入数据分成一个个split,并将split进一步拆成<key, value>。

2.映射(map):根据输入的<key, value>进生处理,

3.合并(combiner):合并中间相两同的key值。

4.分区(Partition):将<key, value>分成N分,分别送到下一环节。

5.化简(Reduce):将中间结果合并,得到最终结果

6.输出(output):负责输入最终结果。

其中第3、4步又成洗牌(shuffle)过程。 继续阅读“Hadoop基础教程之高级编程 – 程序园”

通过eclipse调试MapReduce任务 — 其他 — IT技术博客大学习 — 共学习 共进步!

利用MapReduce利器作开发,不论从思想上还是技能上都是新的体验。以下罗列下如何利用eclipse调试MR任务。

(本人环境:hadoop 1.0.2,部署在linux上,本地windows开发)

1、安装hadoop。

先在linux上安装好hadoop,为更接近线上环进,我的是安装成Cluster

注意要远程访问相关端口,conf/mapred-site.xml中localhost:9001中需要换成ip加端口。

sh bin/start-all.sh启动,先按文档命令行跑一下example的wordcount。

我安装好运行example遇到了XML解析的错(原因应该是${java.home}/lib/jaxp.properties没有设置,见:javax.xml.xpath.XPathFactory.newInstance(uri)的注释),后来手动加了xalan-j_2.7.0.jar、xercesImpl-2.7.1.jar、xml-apis-2.7.1.jar、xmlenc-0.52.jar、serializer-2.7.1.jar几个包解决。

2、下载hadoop eclipse plugin (最新只有0.20.3,不过也能使用),将jar放到eclipse/plugins下,启动eclipse

这个插件比较简陋,只有一个设置项:Window->Preferences->Hadoop Map/Reduce,设置Hadoop的安装路径,解压一份跟运行hadoop同版本的到本机并指向就行了(我的使用smb映射)

建ecplise工程,把WordCount的示例代码复制一份吧,有些hadoop相关的jar需要引用。

Run As->Run On Hadoop设置Map/Reduce Master的IP,端口为9000, DFS Master端口为9001

这样,不出意外的话就能在eclipse里运行Map/Reduce程序了。 继续阅读“通过eclipse调试MapReduce任务 — 其他 — IT技术博客大学习 — 共学习 共进步!”

hadoop研究:mapreduce研究前的准备工作 – 夏天的森林 – 博客园

继续研究hadoop,有童鞋问我,为啥不接着写hive的文章了,原因主要是时间不够,我对hive的研究基本结束,现在主要是hdfs和mapreduce,能写文章的时间也不多,只有周末才有时间写文章,所以最近的文章都是写hdfs和mapreduce。不过hive是建立在hdfs和mapreduce之上,研究好hdfs和mapreduce也是真正用好hive的前提。

今天的内容是mapreduce,经过这么长时间的学习,我对hadoop的相关技术理解更加深入了,这回我会尽全力讲解好mapreduce。 继续阅读“hadoop研究:mapreduce研究前的准备工作 – 夏天的森林 – 博客园”

eclipse中mapreduce程序编译打包出错的解决

必须在项目中手动添加MANIFEST.MF ,并写入如下内容

例如我们打包的jar为 Test.jar

Manifest-Version: 1.0
Main-Class: windows.VideoWindow
Class-Path: lib\org.eclipse.swt_3.3.0.v3346.jar lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar

否则报错:
could not find main class. 继续阅读“eclipse中mapreduce程序编译打包出错的解决”

使用命令行编译打包运行MapReduce程序 – WordCount – 博客园

对于如何编译WordCount.java,对于0.20 等旧版本版本的做法很常见,具体如下:

 

 javac -classpath /usr/local/hadoop/hadoop-<span style="color: #800080;">1.0</span>.<span style="color: #800080;">1</span>/hadoop-core-<span style="color: #800080;">1.0</span>.<span style="color: #800080;">1</span>.jar WordCount.java

 

但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这个文件,因此编辑和打包自己的MapReduce程序与旧版本有所不同。

本文以 Hadoop 2.6环境下的WordCount实例来介绍 2.x 版本中如何编辑自己的MapReduce程序。 继续阅读“使用命令行编译打包运行MapReduce程序 – WordCount – 博客园”

Hadoop教程之编写HelloWorld(2) – 程序园

前面我们写了一个Hadoop程序,并让它跑起来了。但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce。没错,上一节我们写了一个MapReduce的HelloWorld程序,那这一节,我们就也学一学DFS程序的编写。

DFS 是什么,之前已经了解过,它是一个分布式文件存储系统。不管是远程或本地的文件系统,其实从接口上讲,应该是一至的,不然很难处理。同时在第2节的最后, 我们列出了很多一些DFS的操作命令,仔细看一下,这些命令其实跟linux中的文件操作命令很相似,所以说,对于分布式文件系统,我们完全可以用本地文 件的方式来理解。 继续阅读“Hadoop教程之编写HelloWorld(2) – 程序园”

在windows 64位系统上编译hadoop2.7.1成功经验分享

根据官方的build文件说明,按照要求一步步做下去,应该是没问题的,但每个人计算机软硬件环境不同,可能会有出入,本文针对我个人遇到的问题进行说明,可能有些问题你遇不到,也可能你遇到的问题我没有遇到。届时各位还需具体问题具体分析。 继续阅读“在windows 64位系统上编译hadoop2.7.1成功经验分享”

Hadoop源代码在Windows下面的编译 – 推酷

这篇文章对于我在windows 64位系统下编译hadoop2.7.1很有帮助,虽然最终编译到hadoop-common之后就失败和跳过了,但hadoop-common编译出来了,和官方原包大小相差几十字节,不过能用,蛮好,以后有时间再继续研究后面的为何不成功吧。 继续阅读“Hadoop源代码在Windows下面的编译 – 推酷”