用另一种方法

时间:2016-05-29 14:07:44

标签: java maven hadoop mapreduce ipc

我目前正在使用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

任何帮助将不胜感激。谢谢

1 个答案:

答案 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>