Cómo compilar código mapreduce
jars dependientes de Hadoop 2.x
Los jars de la versión Hadoop 2.x ya no están concentrados en un hadoop-core*.jar, sino que se dividen en varios jars, como los siguientes se requieren tres archivos jar para ejecutar el ejemplo de WordCount:
$HADOOP_HOME/share /hadoop/common/hadoop-common-2.4.1.jar
$HADOOP_HOME/share/hadoop/mapreduce / hadoop-mapreduce-client-core-2.4.1.jar
$ HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.4.1.jar:$HADOOP_HOME/share/hadoop/mapreduce / hadoop-mapreduce-client-core-2.4.1.jar: $HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar: $CLASSPATH"
Luego puedes compilar WordCount. java (usando el código fuente 2.4.1 para WordCount.java del código fuente 2.4.1, que se encuentra al final del texto):
javac WordCount.java
aparece Al compilar Advertencia, se puede ignorar. Después de la compilación, puede ver que se generan varios archivos .class.
Compile su propio programa MapReduce usando Javac
A continuación, empaquete los archivos .class. en un jar para ejecutarlo en Hadoop:
jar -cvf WordCount.jar ./WordCount*.class
Una vez que el paquete esté completo, intente ejecutarlo para crear algunos archivos de entrada:
Mkdir input
echo "eco del arco iris" gt ./input/file0
echo "el juego de la espera" gt;
Crear entrada WordCount
Empezar a ejecutar:
/usr/local/hadoop/bin/hadoop jar WordCount.jar Entrada y salida de WordCount