Estoy tratando de ejecutar Hadoop en mi computadora portátil con Windows 7 de 64 bits en modo independiente. Instalé Cygwin 1.7 en la carpeta predeterminada (c: \ cygwin). Tengo el último JDK en la carpeta c: \ jdk1.7.0_03, y he configurado la variable de entorno JAVA_HOME.problemas al ejecutar simple map-reduce los ejemplos de hadoop en cygwin
cuando trato de ejecutar el siguiente comando desde un símbolo cygwin:
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
Aquí está el error que consigo:
12/03/17 19:08:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ehtzrhf\mapred\staging\ehtzrhf837602798\.staging to 0700
at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:682)
at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:655)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:484)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:319)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:848)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:842)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:842)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:816)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1253)
at org.apache.hadoop.examples.Grep.run(Grep.java:69)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.examples.Grep.main(Grep.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
He intentado tanto con Hadoop 1.0.1 y también hadoop -0.20.205.0 y obtener el mismo problema. He actualizado mi .bashrc con
export TMP=/cygdrive/c/temp
export TEMP=/cygdrive/c/temp
También he añadido carpeta bin cygwin a la ruta:
export PATH=.:/cygdrive/c/cygwin/bin:$HADOOP_INSTALL/bin
También me resulta muy extraño que está mostrando el camino que \ tmp ... en lugar de/tmp/...
¿No tiene alguna idea de recompilar o ejecutar una máquina virtual Linux?
por cierto, con la misma configuración que el anterior, pero utilizando Hadoop 0.20.2, no lo creo encontrarse con esto. – dplante
Sí, me enfrenté a esto ayer también. Me gustaría que alguien tenga una solución para eso. +1 –