如果我使用较旧的hadoop lib版本(如0.20.0)开发map-reduce逻辑,然后创建一个jar文件并在集群版本高于1.0.3的集群上运行jar文件,那么会发生什么?群集是否使用与编译我的代码相同的hadoop版本,或者忽略了我编译它的内容?你能解释一下这个过程对hadoop的影响吗?
我知道它会运行但是我看到一些看起来像旧版本的hadoop.common的日志被使用了。 jar文件也不包括lib。
答案 0 :(得分:0)
首先,你想要从你的胖罐中排除hadoop-core库,hadoop提供了这个。
我认为如果您使用的API已经从版本更改为版本的任何库,您会得到一个异常,表明会发生这种情况。
理论上,如果API没有改变,它应该有效,尽管不能保证。最好编译并运行相同的版本。