`
小网客
  • 浏览: 1217267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[MapReduce]Apache Hadoop 2.2.0MapReduce1.x向2.x迁移[翻译]

 
阅读更多

介绍

此文档为用户把mr应用从1.x迁移到2.x上提供说明。

在hadoop的2.x中我们引入了一个资源管理器,一个分布式应用的管理框架,同时MRv2仍然是一个纯净的分布式计算框架。

总的来讲,以前的MR应用(MRv1)仍然支持不需要做任何修改。因此MRv2仍然大部分支持MRv1的应用,不过仍然需要代码改进和重构,一些api将被不推荐使用。

余下部分将会讨论MRv2的向后兼容能力。

二进制兼容

首先基于旧mapred api的二进制程序兼容意思是说这些应用程序是基于MRv1的api编译构建的,那么他们不需要做任何修改就可以在MRv2上运行。仅仅需要指明hadoop2.x的配置文件。

源文件兼容

我们不能确定基于mapreduce构建的二进制文件是否能兼容,毕竟这些api基于MRv1变化很大。不过我们可以肯定的是基于mapreduce从新构建二进制文件是兼容的,换句话说用户可以基于mapreduce重新构建他们的二进制文件,一个需要注意的不兼容地方是Counter 和CounterGroup。

不支持

MRAdmin在MRv2中已经被删除。因为mradmin 命令已经不存在了。他被rmadmin替换掉了,我们不支持二进制直接使用了此类。

MRv1用户和MRv2早期用户权衡

不幸的是保持MRv1二进制兼容问题会导致MRv2早期用户(hadoop 0.23用户)二进制不兼容问题。对mapred api我们选择兼容MRv1应用,因为他们的用户比较庞大。对于mapreduce api用户没有采用hadoop 0.23的应用我们仍然让他们兼容MRv1的应用,如下罗列的是MapReduce api不兼容hadoop 0.23:

Problematic Function Incompatibility Issue
org.apache.hadoop.util.ProgramDriver#drive Return type changes from void to int
org.apache.hadoop.mapred.jobcontrol.Job#getMapredJobID Return type changes from String to JobID
org.apache.hadoop.mapred.TaskReport#getTaskId Return type changes from String to TaskID
org.apache.hadoop.mapred.ClusterStatus#UNINITIALIZED_MEMORY_VALUE Data type changes from long to int
org.apache.hadoop.mapreduce.filecache.DistributedCache#getArchiveTimestamps Return type changes from long[] to String[]
org.apache.hadoop.mapreduce.filecache.DistributedCache#getFileTimestamps Return type changes from long[] to String[]
org.apache.hadoop.mapreduce.Job#failTask Return type changes from void to boolean
org.apache.hadoop.mapreduce.Job#killTask Return type changes from void to boolean
org.apache.hadoop.mapreduce.Job#getTaskCompletionEvents Return type changes from o.a.h.mapred.TaskCompletionEvent[] too.a.h.mapreduce.TaskCompletionEvent[]

蓄意

用户在YARN上运行 hadoop-examples-1.x.x.jar,需要注意的是hadoop -jar hadoop-examples-1.x.x.jar仍然采用的是hadoop-mapreduce-examples-2.x.x.jar,他跟其他MRv2安装在一起。默认hadoop的jar优先于用户的jar加载也就是说2.x.x的会优先执行。用户需要在所有的hadoop节点上移除hadoop-mapreduce-examples-2.x.x.jar 。用户需要设置 HADOOP_USER_CLASSPATH_FIRST=true and HADOOP_CLASSPATH=...:hadoop-examples-1.x.x.jar去执行他们想执行的例子,同时需要在mapred-site.xml配置文件中加入如下信息以便YARN加载此jar:

<property>
	<name>mapreduce.job.user.classpath.first</name>
	<value>true</value>
</property>

 

 

 

 

0
0
分享到:
评论

相关推荐

    hadoop-2.2.0-x64.tar.gz part3

    [INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [6.461s] [INFO] hadoop-mapreduce .................................. SUCCESS [3.936s] [INFO] Apache Hadoop MapReduce Streaming ..........

    hadoop-2.2.0-x64.tar.gz part2

    [INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [6.461s] [INFO] hadoop-mapreduce .................................. SUCCESS [3.936s] [INFO] Apache Hadoop MapReduce Streaming ..........

    hadoop-2.2.0-x64.tar.gz part1

    [INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [4.999s] [INFO] Apache Hadoop Distributed Copy .................... SUCCESS [7.547s] [INFO] Apache Hadoop Archives .....................

    hadoop-2.2.0-src.tar

    Apache Hadoop 2.2.0 is the GA release of Apache Hadoop 2.x. Users are encouraged to immediately move to 2.2.0 since this release is significantly more stable and is guaranteed to remain compatible in...

    简单的MapReduce程序(Hadoop2.2.0)

    一个简单的MapReduce程序。Hadoop2.2.0上实测可用。

    hadoop2.2.0 winutils.exe

    hadoop2.2.0 在window下进行MapReduce 测试时需要的工具,使用时需要修改 源码org.apache.hadoop.util.Shell.java 的277行fullName的路径如: String fullExeName = "d:/hadoop" + File.separator + executable; ...

    Hadoop 2.2.0 词频统计例子

    基于Hadoop2.2.0的词频统计的例子。包含一个大概十万以上单词的测试数据文件。重写了Partitioner和Combiner,供学习之用。 访问博文 http://blog.csdn.net/zythy/article/details/17852579 以查看详细讲解。

    spark-2.2.0-bin-hadoop2.7.zip

    Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,...

    hadoop-eclipse-plugin-2.2.0.jar

    在eclipse中集成hadoop2控件,能够方便编写mapreduce等程序。在hadoop-2.3.0上运行成功

    Windows7 x64+Eclipse+Hadoop 2.5.2搭建MapReduce开发集群相关工具下载

    在Windows7 x64 + Eclipse + Hadoop 2.5.2搭建MapReduce开发环境,下载的文件中包括下载的文件包括:hadoop 2.5.2.tar.gz,hadoop-common-2.2.0-bin-master.zip,hadoop-eclipse-plugin-2.5.2.jar。应用这些软件的...

    java7源码-Compile-Hadoop2.2.0-on-MacOS:也许是第一个(或最笨的)在MacOSMojave上编译Hadoop的

    而这次Hadoop在Mac上的安装费尽周折,并且遇到网上没有先例的问题(由于编译版本不同)、包括Hadoop2.2.0源码中的许多bug。 在此将我的安装过程记录下来,或许对后人有用。 环境: MacOS-10.14, java-1.7.0_80, cmake...

    MahoutHadoopUseCase:电影推荐(1. 下载并预处理数据集;2. 将数据放入 hadoop HDFS;3. 在 Hadoop 上使用 MapReduce 运行 Mahout 协作过滤 4. 获取推荐的前 k 部电影列表)

    (问题已于 14 年 2 月 25 日解决),我想找出一种在 Hadoop 2.2.0 上使用 Mahout 0.8 协同过滤库运行用例的替代方法 在 Eclipse 和 Yarn 上运行 hadoop 程序 步骤: sbin/start_classicCF.sh 该脚本用于下载数据...

    Hadoop词频统计(完整版)

    完整的词频统计MapReduce版本。基于Hadoop2.2.0,包含一个十万单词左右的测试文件。请参照 http://blog.csdn.net/zythy/article/details/17888439 获取详细解说。

    hadoop实现购物商城推荐系统

    3,hadoop2.2.0:这里用于练习的是伪分布模式。4,完成内容:喜欢该商品的人还喜欢,相同购物喜好的好友推荐。1,通过sqoop从mysql中将“用户收藏商品”(这里用的是用户收藏商品信息表作为推荐系统业务上的依据,...

    ElasticMapReduce:使用HadoopElastic MapReduce实现

    使用Hadoop进行Elastic MapReduce实施,以查找2006-2010年每年的前5个温度。 使用的数据集来自国家气象局。 该项目已在运行于Ubuntu 12.04 VM上的Hadoop 2.2.0上进行了设置和测试。 温度和风的最大值和最小值的输出...

    em-mapred:最大似然算法及其分布式实现

    bin 目录包含程序 jar,它是从与 Hadoop 2.2.0 版链接的源文件编译而来的。编译为了编译源文件,构建路径必须包含我们已包含在 HadoopJars 目录中的 hadoop-common-.jar、hadoop-hdfs-.jar 和 hadoop-mapreduce-...

Global site tag (gtag.js) - Google Analytics