how - Ejecución del ejemplo de Wordcount Hadoop en Windows con Hadoop 2.6.0
mapreduce java example (2)
Soy nuevo en Hadoop y aprendí que con la versión 2.x, puedo probar Hadoop en mi máquina local de Windows 7 de 64 bits.
Instalé hadoop 2.6.0 e instalé cygwin.
Podría ejecutar la versión bin / hadoop pero obtengo el siguiente error al ejecutar el comando jar:
Nota: También coloqué winutils.jar en el contenedor, desde hadoop-common-2.2.0.jar.
Por favor ayuda. No soy capaz de deshacerme de este error. También he ingresado los parámetros de entrada y salida, aún falla.
$ bin/hadoop jar /Hadoop/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount
15/02/03 12:40:45 ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null/bin/winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:355)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:370)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:363)
at org.apache.hadoop.util.GenericOptionsParser.preProcessForWindows
(GenericOptionsParser.java:438)
at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions
(GenericOptionsParser.java:484)
at org.apache.hadoop.util.GenericOptionsParser.<init>
(GenericOptionsParser.java:170)
at org.apache.hadoop.util.GenericOptionsParser.<init>
(GenericOptionsParser.java:153)
at org.apache.hadoop.examples.WordCount.main(WordCount.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke
(ProgramDriver.java:71)
at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Usage: wordcount <in> [<in>...] <out>
Podría ejecutar el siguiente comando también:
$ bin/hadoop jar /Hadoop/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar
Solía ser un problema antes. Sin embargo, si puede ejecutar el programa a través de jar, podría haber algo más en falta. Si lo mismo funciona para usted con un código Java, puede editar el jar para eliminar el código donde se está generando una nueva excepción.
Para estar doblemente seguro, verifique si el directorio bin contiene winutils.exe y hadoop.dll.
Si no están presentes, es posible que alguien más se haya enfrentado a un problema similar y habría conservado los archivos. Estos archivos se crean cuando Hadoop se genera a partir del código fuente en el sistema operativo.
Parece que has instalado hadoop 2.6.0 y una versión anterior de hadoop winutils. Debe instalar hadoop winutils de su versión actual de hadoop. Intente descargar winutils desde este repositorio de github https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin ¡ Finalmente reemplace su directorio bin con el directorio winutils bin!