2016-05-29 2 views
1

я в настоящее время с помощью Hadoop 2.7.2Заменить метод waitForCompltetion() в классе работы другим методом

мне было интересно, если есть другой метод из класса Job в org.apache.hadoop.mapreduce.job, который может заменить метод waitForCompletion(), потому что в моем проекте waitForCompletion() вызывает другой метод под названием getProxy(), который должен быть в классе RPC в пакете org.apache.hadoop.ipc в hadoop-common-2.7.2, но его не существует.

Однако есть ссылка, что доказывает существование метода getProxy() в RPC: https://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/ipc/RPC.html

Если вы хотите иметь детальное описание исходной задачи здесь ссылка:

hadoop mapreduce java program exception: java.lang.NoSuchMethodError

Любая помощь будет оценена. Спасибо

ответ

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> 
+0

Hi Makubex, я добавил его в файл pom, он дает ту же ошибку. На самом деле я просто вычислил причину проблемы: Существует экземпляр классов JobClient из пакета 'org.apache.hadoop.mapred', вызывающего метод' createRPCProxy() ', который не работает даже нет. Возможно, если у вас есть представление об этом, было бы очень полезно найти альтернативу для его замены. Спасибо Makubex. –

+0

Я отредактировал свой ответ с новой зависимостью. Угадайте, что должно решить вашу проблему. – Makubex

+0

По-прежнему такая же ошибка. –