欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Mapreduce程序:从Hadoop1.x升级Hadoop2.x

  理论上,在Hadoop 1.x上开发的Mapreduce程序可以在Hadoop 2.x上面运行,Hadoop2.x类库对Hadoop1.x程序的兼容性主要体现在以下几点:
  二进制兼容:利用mapred API开发以及编译程序可以直接在Hadoop 2.x运行,不需要重新编译;
  源码兼容:利用mapreduce API开发的程序, 需要在Hadoop 2.x上重新编译才能运行;
  不兼容部分:mradmin从Hadoop 2.x上移除了,如果某程序中用到了这个类,则该程序将不兼容Hadoop 2.x平台,但是可以用rmadmin代替mradmin。
  其他不兼容的部分:

Problematic FunctionIncompatibility Issue
org.apache.hadoop.util.ProgramDriver#drive返回类型从void变成int
org.apache.hadoop.mapred.jobcontrol.Job#getMapredJobID返回类型从String变成JobID
org.apache.hadoop.mapred.TaskReport#getTaskId返回类型从String变成TaskID
org.apache.hadoop.mapred.ClusterStatus
#UNINITIALIZED_MEMORY_VALUE
返回类型从long变成int
org.apache.hadoop.mapreduce.filecache.DistributedCach
e#getArchiveTimestamps
返回类型从long[] 变成String[]
org.apache.hadoop.mapreduce.filecache.DistributedCache
#getFileTimestamps
返回类型从long[] 变成String[]
org.apache.hadoop.mapreduce.Job#failTask返回类型从void变成boolean
org.apache.hadoop.mapreduce.Job#killTask返回类型从void变成boolean
org.apache.hadoop.mapreduce.Job#getTaskCompletionEvents返回类型从o.a.h.mapred.TaskCompletionEvent[]
变成o.a.h.mapreduce.TaskCompletionEvent[]
关于升级程序需要的依赖包可以参见本博客《Hadoop1.x程序升级到Hadoop2.x需要的依赖库》
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Mapreduce程序:从Hadoop1.x升级Hadoop2.x】(https://www.iteblog.com/archives/854.html)
喜欢 (4)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!
(1)个小伙伴在吐槽
  1. 初来乍到,支持下

    小白2013-12-17 11:05 回复