Hadoop-2.2.0中文文档—— 从Hadoop 1.x 迁移至 Hadoop 2.x

简介

本文档对从 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,布布扣,bubuko.com

时间: 2024-10-14 02:31:20

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

Hadoop-2.2.0中文文档—— Common - CLI MiniCluster

目的 使用 CLI MiniCluster, 用户可以简单地只用一个命令就启动或关闭一个单一节点的Hadoop集群,不需要设置任何环境变量或管理配置文件. CLI MiniCluster 同时启动一个 YARN/MapReduce 和 HDFS 集群. 这对那些想要快速体验一个真实的Hadoop集群或是测试依赖明显的Hadoop函数的非Java程序 的用户很有用. Hadoop Tarball 你需要从发布页获取tar包.或者,你可以从源码中自己编译. $ mvn clean install -

Hadoop-2.2.0中文文档——MapReduce 下一代 -——集群配置

目的 这份文档描写叙述了怎样安装.配置和管理从几个节点到有数千个节点的Hadoop集群. 玩的话,你可能想先在单机上安装.(看单节点配置). 准备 从Apache镜像上下载一个Hadoop的稳定版本号. 安装 安装一个Hadoop集群,一般包含分发软件到全部集群中的机器上或者是安装RPMs. 一般地,集群中的一台机器被唯一地设计成NameNode,还有一台机器被设置成ResourceManager.这是master(主). 集群中剩下的机器作为DataNode 和 NodeManager.这些是

Hadoop-2.2.0中文文档——Common-Hadoop HTTP web控制台认证

简介 此文档描述了如何配置Hadoop HTTP web控制台,去要求用户认证. 默认地,Hadoop HTTP web控制台(JobTracker, NameNode, TaskTrackers 和 DataNodes)不需要任何认证就允许访问. 与Hadoop RPC相似, Hadoop HTTP web控制台可以被配置为需要使用HTTP SPNEGO协议认证(由FireFox或IE支持). 还有,Hadoop HTTP web控制台同等地支持Hadoop's Pseudo/Simple 认

Hadoop-2.2.0中文文档—— MapReduce 下一代 - Encrypted Shuffle

简介 Encrypted Shuffle capability (加密洗牌功能?)允许用HTTPS 和 可选的客户端验证 (也称作双向的 HTTPS, 或有客户端证书的 HTTPS) 去加密 MapReduce shuffle.它包括: 在HTTP 和 HTTPS 之间绑定 shuffle 的一个 Hadoop 配置 用来指定 keystore 和 truststore 属性的Hadoop配置(位置,类型,密码) 用于 shuffle 服务和reducer任务去取 shuffle 数据. 在集群

Hadoop-2.2.0中文文档—— MapReduce 下一代 -- 公平调度器

目的 此文档描述了 FairScheduler, Hadoop 的一个可插入式的调度器,允许 YARN 应用在一个大集群中公平地共享资源. 简介 公平调度是一种分配资源给应用的方法,以致到最后,平均上所有应用获得相等的资源.  Hadoop NextGen 能够调度多种类型的资源.默认的, Fair Scheduler 仅以内存为基础作公平调度决策.可以用Ghodsi 等开发的 Dominant Resource Fairness 概念配置调度内存和CPU.仅有一个应用运行时,这个应用使用整个集

Hadoop-2.2.0中文文档—— Common - Native Libraries Guide

概览 这个入门教程描述了native(本地?原生?)hadoop库,包含了一小部分关于native hadoop共享库的讨论. This guide describes the native hadoop library and includes a small discussion about native shared libraries. 注意: 根据你的环境,词组 "native libraries" 可能会变成 *.so,这样你就需要编译,然后,要是词组 "nati

Hadoop-2.2.0中文文档—— Common - 服务层认证

目的 此文档描述了如何为Hadoop配置和管理 Service Level Authorization . 预备条件 确保已经安装Hadoop,配置和设置都正确了.更多细节,请看:* 首次使用者的单节点设置 * 大的.分布式集群的集群设置. 概览 Service Level Authorization 是一个必要的初始认证机制,其确保客户端连接到一个有必要的.预配置的.权限和认证服务的特定的Hadoop服务.例如,一个 MapReduce 集群可以使用这个机制允许一个配置了的用户/组列表提交作业

Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort

简介 可插入的 shuffle 和 sort 功能,允许在shuffle 和 sort 逻辑中用可选择的实现类替换.这个情况的例子是:用一个不是HTTP的应用协议,如RDMA来 shuffle 从Map节点中到Reducer节点的数据:或者用自定义的允许 Hash聚合和Limit-N查询的算法来代替sort逻辑. 重要: 可插入的 shuffle  sort 功能是实验性的.不稳定.这意味着提供的API可能改变或破坏未来Hadoop版本的兼容性. 实现一个自定义的 Shuffle 和 Sort

Apache Storm 1.1.0 中文文档 | ApacheCN

前言  Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ApacheCN 最近组织了翻译 Storm 1.1.0 中文文档 的活动,整体 翻译进度 为 96%. 感谢大家参与到该活动中来 感谢无私奉献的 贡献者,才有了这份 Storm 1.1.0 中文文档 感谢一路有你的陪伴,我们才可以做的更好,走的更快,走的更远,我们一直在努力 ... 网页地址: