Hadoop从入门到精通之 如何从Hadoop1.x转到Hadoop2.x

本文介绍了如何将Hadoop1.x的MapReduce应用迁移到Hadoop2.x的YARN环境中。尽管YARN在设计时考虑了MRv1的兼容性,但部分API有所改变。文章提到了二进制和源代码的兼容性策略,指出MRAdmin在YARN中已被移除,并给出了在YARN上运行旧版示例代码的注意事项。
摘要由CSDN通过智能技术生成

Hello 大家好,我是stefan,今天来和大家分享下如何将Hadoop1.x迁移至Hadoop2.x。这篇博文提供了将Hadoop MapReduce应用从Hadoop1.x迁移到Hadoop2.x的方法。


在2.x的版本中,apache将resource management剥离出来集成到Hadoop YARN里了,目的在于将application management框架分开使得MapReduce依然是一个纯粹的分布式计算框架。

一般情况下,由于早版本的MapReduce在新的框架(YARN)设计时被尽量重用了,因此YARN对MRv1保持向下兼容。不过由于一些改进和代码重构,少部分API借口提供了向后兼容。


1、对二进制程序的兼容性

首先,我们要确保使用旧mapred的API的应用程序二进制兼容性。也就是说用MRv1构建的应用不需要重新编译,就可以跑在YARN上。只需要通过配置来将应用程序部署到Hadoop2.x的集群上。

2、源代码兼容性

我们不能完全确保二进制程序兼容性由于上一个版本到现在YARN版本已经改进了很多地方。但是我们可以确保用YARN版本的MapReduce重新编译的程序是稳定的。所以大家最好用新的api重新编译一下自己的程序。

3、不支持的东西

MRAdmin在YARN版中已经被删除,因为mradmin命令不存在了。YARN中用rmadmin中的命令替代了他。如果直接使用这个类的应用不管是二进制程序还是源代码都会出错。

4、MRv1用户和YARN用户之间的平衡

可惜完美的兼容是不存在的,保持对MRv1的二进制程序的兼容会导致早起MRv2的二进制程序的不兼容问题,特别是0.23版本的用户(尽量不要使用这个版本咯)。对于MapReduce的api我们兼容MRv1的应用程序,因为用户群比较广泛,下表是Hadoop0.23中不兼容api的列表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值