Ejecutando Apache Hadoop 2.1.0 en Windows

Soy nuevo en Hadoop y he tenido problemas al intentar ejecutarlo en mi máquina con Windows 7. Particularmente estoy interesado en ejecutar Hadoop 2.1.0 como suNotas de lanzamiento Mencione que correr en Windows es compatible. Sé que puedo intentar ejecutar versiones 1.x en Windows con Cygwin o incluso usar VM preparada, por ejemplo, con Cloudera, pero estas opciones son, en algunos aspectos, menos convenientes para mí.

Habiendo examinado un tarball dehttp://apache-mirror.rbc.ru/pub/apache/hadoop/common/hadoop-2.1.0-beta/ Encontré que realmente hay algunos scripts * .cmd que pueden ejecutarse sin Cygwin. Todo funcionó bien cuando formé la partición HDFS, pero cuando intenté ejecutar el daemon namenode hdfs tuve dos errores: primero, no fatal, fue que no se pudo encontrar winutils.exe (realmente no estaba presente en el archivo comprimido). Encontré las fuentes de este componente en el árbol de fuentes de Apache Hadoop y lo compilé con Microsoft SDK y MSbuild. Gracias al detallado mensaje de error, quedó claro dónde colocar el ejecutable para satisfacer a Hadoop. Pero el segundo error que es fatal no contiene suficiente información para que yo la resuelva:

13/09/05 10:20:09 FATAL namenode.NameNode: Exception in namenode join
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
    at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
    at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:423)
    at org.apache.hadoop.fs.FileUtil.canWrite(FileUtil.java:952)
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:451)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:282)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:200)
...
13/09/05 10:20:09 INFO util.ExitUtil: Exiting with status 1

Parece que algo más debería ser compilado. Voy a intentar construir Hadoop desde la fuente con Maven, pero ¿no hay una manera más simple? ¿No hay alguna opción que yo no sepa que pueda desactivar el código nativo y hacer que el tarball sea utilizable en Windows?

Gracias.

ACTUALIZADO. Sí, en efecto. El paquete "Homebrew" contenía algunos archivos adicionales, sobre todo winutils.exe y hadoop.dll. Con estos archivos, namenode y datanode se iniciaron correctamente. Creo que la pregunta puede ser cerrada. No lo borré en caso de que alguien tenga la misma dificultad.

ACTUALIZADO 2. Para construir el paquete "homebrew" hice lo siguiente:

Obtuve las fuentes, y las desempaqueté.Lea con cuidado BUILDING.txt.Dependencias instaladas:
3a) Windows SDK 7.1
3b) Maven (usé 3.0.5) 3c) JDK (usé 1.7.25)
3d) ProtocolBuffer (usé 2.5.0 -http://protobuf.googlecode.com/files/protoc-2.5.0-win32.zip). Basta con colocar el compilador (protoc.exe) en algunas de las carpetas PATH.
3e) Un conjunto de herramientas de línea de comandos de UNIX (instalé Cygwin)Se inició la línea de comandos de Windows SDK. Inicio | Todos los programas | Microsoft Windows SDK v7.1 | ... Símbolo del sistema (modifiqué este acceso directo, agregando opción / lanzamiento en la línea de comandos para crear versiones de lanzamiento de código nativo). Todos los pasos siguientes se realizan desde la ventana de línea de comandos del SDK)

Configurar el medio ambiente:

establecer JAVA_HOME = {path_to_JDK_root}

Parece que JAVA_HOMENO DEBE contiene espacio!

set PATH={path_to_maven_bin};%PATH%  
set Platform=x64  
set PATH={path_to_cygwin_bin};%PATH%  
set PATH={path_to_protoc.exe};%PATH%  
Se cambió el directorio a la carpeta raíz de fuentes (BUILDING.txt advierte que hay algunas limitaciones en la longitud de la ruta, por lo que las fuentes raíz deberían tener un nombre corto; usé D: \ hds)

Proceso de construcción corrido:

paquete mvn -Pdist -DskipTests

Puede probar sin 'skipTests' pero en mi máquina fallaron algunas pruebas y se terminó la construcción. Puede estar conectado a los problemas de enlace simbólicos mencionados en BUILDING .txt. 8. Escogió el resultado en hadoop-dist \ target \ hadoop-2.1.0-beta (los ejecutables de Windows y los archivos DLL están en la carpeta 'bin')

Respuestas a la pregunta(12)

Su respuesta a la pregunta