简单介绍

本文档对从 Apache Hadoop 1.x 迁移他们的Apache Hadoop MapReduce 应用到
Apache Hadoop 2.x 的用户提供了一些信息。

在 Apache Hadoop 2.x 中,我们已经把资源管理功能放入 分布式应用管理框架 的Apache
Hadoop YARN,而 Apache Hadoop MapReduce (亦称 MRv2) 保持为一个纯分布式计算框架。

总之,之前的 MapReduce 执行时 (亦称 MRv1) 已经被重用而且不会有重大功能放在其上(?

)。

因此,MRv2 能够确保与MRv1 应用之间的兼容性。然而,因为一些改进和代码重构,一些API已经导致后向不兼容。

本页的剩余部分将讨论在Apache Hadoop MapReduce 2.x (MRv2)中我们支持的后向兼容的范围和级别。

Binary 兼容性

首先,我们确保对使用旧的mapred的应用二进制兼容。这意味着使用 MRv1 mapred API
创建的应用不用又一次编译就可直接在YARN上执行。只须要通过配置把它们指向一个 Apache Hadoop 2.x 集群。

Source 兼容性

我们不能确保使用mapreduce API的应用的二进制兼容,由于这些API从MRv1起已经改变了非常多。然而,我们确保对mapreduce API
的兼容性。

换句话说,用户能够用MRv2的mapreduce API 又一次编译他们的应用。一个显著的二进制不兼容是 Counter 和 CounterGroup。

不支持的

在MRv2 中 MRAdmin 已经被删除了。由于 mradmin 命令不存在了。他们已经被 rmadmin 中的命令取代了。我们不支持直接使用这个类的二进制或源代码。

MRv1 用户和早期的 MRv2 适应者间的折中

不幸的是,维持对MRv1应用的二进制兼容可能导致MRv2的早期适应者的二进制不兼容问题。特别是Hadoop
0.23 用户。对于 mapred APIs, 有一大批的用户,我们已经选择兼容MRv1应用。对于 mapreduce APIs,
假设他们不显示地使用 Hadoop 0.23 应用,我们仍然是他们与MRv1应用兼容。以下是与Hadoop 0.23不兼容的 MapReduce APIs 列表。

问题函数 不兼容问题
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[]

Malicious

对于将要在YARN上试用 hadoop-examples-1.x.x.jar 的用户,请注意 hadoop
-jar hadoop-examples-1.x.x.jar 还是会使用
 hadoop-mapreduce-examples-2.x.x.jar,
其与其它的 MRv2 jars 一同安装. 默认地, Hadoop 框架包在classpath中出如今用户的jar之前,以便2.x.x 包中的类仍会被选中。

用户在集群中的全部节点的classpath中应该删除 hadoop-mapreduce-examples-2.x.x.jar 。

否则。用户应该设置 HADOOP_USER_CLASSPATH_FIRST=true 而且HADOOP_CLASSPATH=...:hadoop-examples-1.x.x.jar 去运行他们的目标演示样例jar,
还要在 mapred-site.xml 中加入配置。使得 YARN 容器进程会调用这个jar包。

<property>

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

Hadoop-2.2.0中文文档—— 从Hadoop 1.x 迁移至 Hadoop 2.x的更多相关文章

  1. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  2. Apache Storm 1.1.0 中文文档 | ApacheCN

    前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...

  3. Django2.0中文文档

    title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...

  4. webpack4.0中文文档踩坑记录

    一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...

  5. Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...

  6. Apache Spark 2.2.0 中文文档 - Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN

    Spark RDD(Resilient Distributed Datasets)论文 概要 1: 介绍 2: Resilient Distributed Datasets(RDDs) 2.1 RDD ...

  7. Apache Spark 2.2.0 中文文档 - Spark 编程指南 | ApacheCN

    Spark 编程指南 概述 Spark 依赖 初始化 Spark 使用 Shell 弹性分布式数据集 (RDDs) 并行集合 外部 Datasets(数据集) RDD 操作 基础 传递 Functio ...

  8. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  9. Hadoop-2.2.0中文文档—— Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 全部的的FS shell命令使用URI路径作为參数.URI格式是scheme: ...

随机推荐

  1. 【BZOJ 4027】 4027: [HEOI2015]兔子与樱花 (贪心)

    4027: [HEOI2015]兔子与樱花 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号 ...

  2. loj117 有源汇有上下界最小流

    link 题意&题解 code: #include<bits/stdc++.h> #define rep(i,x,y) for (int i=(x);i<=(y);i++) ...

  3. bzoj 4094: [Usaco2013 Dec]Optimal Milking

    4094: [Usaco2013 Dec]Optimal Milking Description Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号为1 . ...

  4. 事务有哪些特性?spring的事务管理有几种方式实现,如何实现?

    特性:1.原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做要么全不做 2.一致性:数据不会因为事务的执行而遭到破坏 3.隔离性:一个事物的执行,不受其他事务的干扰,即并发执行的事 ...

  5. Educational Codeforces Round 12 C. Simple Strings 贪心

    C. Simple Strings 题目连接: http://www.codeforces.com/contest/665/problem/C Description zscoder loves si ...

  6. C# 时间戳与当前时间互相转换

    时间戳: Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日 ...

  7. Autocomplete TEdit

    http://forum.codecall.net/topic/75946-autocomplete-tedit/ Overview Autocomplete feature really helpf ...

  8. ELM320 OBD(PWM) to RS232 Interpreter

    http://elmelectronics.com/DSheets/ELM320DS.pdf

  9. linq Distinct 去除重复数据

    转载:http://www.cnblogs.com/ldp615/archive/2011/08/01/distinct-entension.html 只可惜linq默认不支持.Distinct(p ...

  10. zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的。

    zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的.