2014-07-03 5 views
6

Voglio implementare un progetto di maven, che mi aiuta a testare un lavoro Hadoop MapReduce. Il mio problema più grande è la definizione delle dipendenze Maven per poter utilizzare le classi di test: MiniDFSCluster & MiniMRCluster.Dipendenze Maven per Hadoop: MiniDFSCluster e MiniMRCluster

Sto utilizzando Hadoop 2.4.1. Qualche idea?

risposta

2

Indovina che l'ho capito. Nel file pom Maven, innanzitutto aggiungere un nuovo repository:

<repositories> 
    <repository> 
     <id>cloudera</id> 
     <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> 
    </repository> 
</repositories> 

quindi aggiungere il seguente alle vostre dipendenze di progetto

<dependency> 
    <groupId>commons-io</groupId> 
    <artifactId>commons-io</artifactId> 
    <version>2.1</version> 
</dependency> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-auth</artifactId> 
    <version>2.0.0-cdh4.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-test</artifactId> 
    <version>2.0.0-mr1-cdh4.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-hdfs</artifactId> 
    <version>2.0.0-cdh4.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-hdfs</artifactId> 
    <version>2.0.0-cdh4.3.0</version> 
    <classifier>tests</classifier> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-common</artifactId> 
    <version>2.0.0-cdh4.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-common</artifactId> 
    <version>2.0.0-cdh4.3.0</version> 
    <classifier>tests</classifier> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-core</artifactId> 
    <version>2.0.0-mr1-cdh4.3.0</version> 
</dependency> 

Nel caso in cui qualcuno è interessato ad ottenere l'intero progetto (unit test per il famoso WordCount lavoro MapReduce, io sono disposto a condividerlo)

+4

E 'sufficiente includere solo Hadoop-minicluster: ' org.apache.hadoop hadoop-minicluster 2.7.0 ' –

5

Nel caso in cui qualcun altro è ancora searchinf di una risposta:

MiniMRCluster è ormai deprecato.

È possibile ottenere MiniDFSCluster e MiniMRCluster nella dipendenza (mostrata per Gradle)

compile group: 'org.apache.hadoop', name: 'hadoop-minicluster', version: '2.7.2' 

La dipendenza è fondamentalmente solo un file pom che elenca le dipendenze in questo pacchetto. Per coloro che vogliono guardare questo in su, MiniDFSCluster è nel manufatto hadoop-hdfs:tests

Non è necessario utilizzare le dipendenze dal repository Cloudera