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。
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>
相关文章
- 问题-Fastreport4 Memo打印时中文显示不全
- PROXMOX VE 6.x 国内源设置教程与中文手册
- FlashChart json数据配置 中文文档
- IdentityServer4中文文档
- Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams
- Android中文API(143) —— CountDownTimer
- PHP截取中文字符串不出现?号的解决方法[原创]
- 使用Discuz关键词服务器实现PHP中文分词
- 如何找到msdn中文文档呢?
- 如何找到msdn中文文档呢?
- java 中文转Unicode 以及 Unicode转中文
- 异常:Get请求提交过来的中文参数乱码
- python3读中文文档报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa6 in ...
- 解决 QtCreator 3.5(4.0)无法输入中文的问题
- java 导出excel 文件名 中文乱码
- 【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )
- 3.2.5.10 识别中文的正则表达式
- 论文投稿指南——中文核心期刊推荐(物理学2)
- LightningChart 10.0 Crack 有中文帮助文档
- 基于TF-IDF+KMeans聚类算法构建中文文本分类模型(附案例实战)
- Prometheus 中文文档