hadoop - 在hadoop-2.2.0下写的hadoop程序能在hadoop-1.2.1下运行吗?

标签 hadoop version

我的电脑上有hadoop-2.2.0,我在这个版本下写了一个程序。现在我需要在一个大集群中测试它,但在集群机器的 hadoop 中是 hadoop-1.2.1。 当我尝试在其上运行我的程序时,出现错误:

java.lang.NoSuchMethodError: org/apache/hadoop/util/ProgramDriver.run([Ljava/lang/String;)我 在 org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74) 在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在 java.lang.reflect.Method.invoke(Method.java:619) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:160)

google了一下,好像是版本问题。那么新版hadoop写的程序是不是不能在老版hadoop上运行呢?提前致谢!

最佳答案

这取决于您的 Map Reduce 程序及其使用的类(我的直觉是这不起作用)。 Hadoop-1.x.x 到 2.x.x 是主要的版本更改,因此您在程序中使用的类和库将发生重大更改。话虽如此,我鼓励您查看该版本的发行说明。

关于hadoop - 在hadoop-2.2.0下写的hadoop程序能在hadoop-1.2.1下运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24825588/

相关文章:

cruisecontrol.net - 从程序集版本更新 CCNET 上次构建标签

version-control - "Staircase"分支有什么好处?

java - 尝试从unix korn shell执行.jar时发生异常

java - "Shortcut"在reduce()方法中确定Iterator<IntWritable>中的最大元素

hadoop - 将更新的jar文件复制到Spark上的每个从属节点

linux - 如何在集群中使用单键值对ssh

sql - hadoop orc表始终只使用一个映射器

模块的 Python C API 版本不匹配

ubuntu - hadoop fs -ls 不起作用

javascript - 为什么在 css 或脚本路由中使用 "?ver=2.70"?