maven artefactId hadoop 2.2.0 para hadoop-core
ant hadoop2 (3)
Estoy migrando mi aplicación de hadoop 1.0.3 a hadoop 2.2.0 y la construcción de maven ha marcado hadoop-core como dependencia. Dado que hadoop-core no está presente para hadoop 2.2.0. Intenté reemplazarlo con hadoop-client y hadoop-common, pero sigo recibiendo este error para ant.filter. ¿Alguien puede sugerir qué artefacto usar?
previous config :
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.3</version>
</dependency>
New Config:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.2.0</version>
</dependency>
Error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project event: Compilation failure: Compilation failure:
[ERROR] /opt/teamcity/buildAgent/work/c670ebea1992ec2f/event/src/main/java/com/intel/event/EventContext.java:[27,36] package org.apache.tools.ant.filters does not exist
[ERROR] /opt/teamcity/buildAgent/work/c670ebea1992ec2f/event/src/main/java/com/intel/event/EventContext.java:[27,36] package org.apache.tools.ant.filters does not exist
[ERROR] /opt/teamcity/buildAgent/work/c670ebea1992ec2f/event/src/main/java/com/intel/event/EventContext.java:[180,59] cannot find symbol
[ERROR] symbol: class StringInputStream
[ERROR] location: class com.intel.event.EventContext
Las dependencias de Maven pueden obtenerse de este enlace. En cuanto a los dependientes de hadoop-core, hadoop-core fue el nombre de hadoop 1.X y el cambio de nombre de la versión a 2.X no ayudará. También en un proyecto hadoop 2.X que usa la dependencia hadoop 1.X da un error como
Causado por: org.apache.hadoop.ipc.RemoteException: Server IPC versión 9 no se puede comunicar con la versión de cliente 4
Por lo tanto, se sugiere no usarlo. He estado usando las siguientes dependencias en mi hadoop
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
Puedes probar estos.
Dependemos principalmente de hdfs api para nuestra aplicación. Cuando migramos a hadoop 2.X, nos sorprendimos al ver los cambios en las dependencias. Comenzamos a agregar dependencias de a una por vez. Hoy dependemos de las siguientes bibliotecas principales.
hadoop-annotations-2.2.0
hadoop-auth-2.2.0
hadoop-common-2.2.0
hadoop-hdfs-2.2.0
hadoop-mapreduce-client-core-2.2.0
Además de estos también dependemos de bibliotecas de prueba. En función de sus necesidades, es posible que desee incluir hadoop-HDF y hadoop-mapreduce-client para las dependencias junto con hadoop-common.
Intente con estos artefactos, palabra bien en mi proyecto de palabras del proyecto de muestra
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>