作为hadoop的初学者,我开始尝试在ubuntu中配置单节点hadoop集群。在安装和配置之后,我使用hadoop处理示例部分并且它抛出了以下错误
hduser1@ubuntu:/usr/local/hadoop$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce- examples-2.2.0.jar pi 2 5
java.lang.NoSuchMethodError: org.apache.hadoop.util.ProgramDriver.run([Ljava/lang/String;)I
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
我使用过Java-7-oracle和Ubuntu 12.04并按照这篇文章安装和配置hadoop: http://codesfusion.blogspot.in/2013/10/setup-hadoop-2x-220-on-ubuntu.html
答案 0 :(得分:0)
错误消息表示虽然运行时能够找到类ProgramDriver
,但函数run()
不存在。
最可能的原因是您运行的旧版Hadoop暴露了ProgramDriver
中的差异界面。大约一年前,此方法在被调用run()
后为renamed到driver()
。
修复此问题将确保您运行最新版本的Hadoop。