我目前正在使用hadoop 2.7.2
我想知道Job
中的org.apache.hadoop.mapreduce.job
中的另一种方法是否可以替换方法waitForCompletion()
,因为在我的项目中,{{ 1}}调用另一个名为waitForCompletion()
的方法,该方法应位于hadoop-common-2.7.2中的包getProxy()
中的RPC
类中,但它不存在。
但是有一个链接可以证明org.apache.hadoop.ipc
中存在getProxy()
方法:https://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/ipc/RPC.html
如果您想要详细描述源问题,请点击链接:
hadoop mapreduce java program exception: java.lang.NoSuchMethodError
任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
您可以尝试添加以下依赖项并运行一次。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ncku.hpds.tzulitai</groupId>
<artifactId>distributed-svm</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>cascade-svm-mr</artifactId>
<name>cascade-svm-mr</name>
<description>The Cascade SVM approach, implemented with MapReduce</description>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>tw.edu.ntu.csie</groupId>
<artifactId>libsvm</artifactId>
<version>3.17</version>
</dependency>
<!-- BIG DATA -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.2</version>
</dependency>
</dependencies>
</project>