Excepción en el subproceso “principal” java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

4 minutos de lectura

avatar de usuario
sukumar konduru

tratando de ejecutar la versión del programa MR (2.7) en Windows 7 de 64 bits en eclipse mientras se ejecuta la excepción anterior. Lo verifiqué usando la versión Java 1.8 de 64 bits y observé que todos los demonios de Hadoop se están ejecutando.

Cualquier sugerencia muy apreciada

  • Parece que Java no puede encontrar ninguna biblioteca nativa. Puede ser que cualquier archivo dll esté dañado o no sea accesible para el programa java.

    –Anil Agrawal

    25 de enero de 2017 a las 12:32

  • Hay un problema similar, puede consultar aquí stackoverflow.com/questions/18630019/…

    –Anil Agrawal

    25 de enero de 2017 a las 12:32

  • en ese caso, al iniciar los demonios, se produce este problema. Pero en mi caso, no hay problemas al iniciar, pero al ejecutar el programa map reduce, se produce esa excepción.

    – sukumar konduru

    25 de enero de 2017 a las 13:05

  • Parece que no se puede acceder a ninguna biblioteca nativa que se requiera para el programa map reduce. Comparta el seguimiento de la pila para obtener más información.

    –Anil Agrawal

    25 de enero de 2017 a las 19:22

avatar de usuario
Thirupathi Chavati

Además de otras soluciones, descargue winutil.exe y hadoop.dll y agregue a $HADOOP_HOME/bin. Esto funciona para mi.

https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin

Nota: estoy usando la versión hadoop-2.7.3
ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí
ingrese la descripción de la imagen aquí

  • Me encontré con el mismo problema al iniciar Namenode. No puedo iniciar Namenode. Por favor ayuda

    – Jon Andrews

    4 de junio de 2020 a las 6:53

  • Estoy usando Hadoop-3.0.0. Había descargado hadoop.dll y winutils.exe desde el enlace de Github que proporcionó. Pero todavía no hay suerte. Lanza el mismo error al iniciar Namenode

    – Jon Andrews

    4 de junio de 2020 a las 6:55


  • El enlace de arriba no tiene 3.1.1. (¿aún?). Encontré este que parece estar funcionando para la versión más reciente: github.com/kontext-tech/winutils

    – Dan

    15/03/2021 a las 19:35

  • @JonAndrews: ¿pudiste resolverlo al final? Teniendo el mismo problema, la misma versión de Hadoop… ¡Gracias!

    – ialekseev

    29 de marzo de 2021 a las 11:55

después de poner haddop.dll y winutils en hadoop/bin carpeta y agregando la carpeta de hadoop a PATHtambién tenemos que poner hadoop.dll en el C:\Windows\System32 carpeta

  • He hecho esto, pero el error sigue apareciendo. ¿Alguna sugerencia?

    – Jaison

    13 de abril de 2020 a las 6:20

  • no necesitaba el C:\Windows\System32 paso. WinUntils.exe y hadoop.dll en las carpetas bin de Hadoop lo hizo por mí. Sin embargo, la variable de entorno y la configuración de la ruta son críticas.

    – Dan

    15 de marzo de 2021 a las 19:32

  • @Dan No sé por qué, pero poner hadoop.dll en la carpeta C:\Windows\System32 también fue fundamental para mí.

    – diman82

    10 de julio de 2021 a las 22:36

  • @ diman82 ¿Tenías la variable de entorno? HADOOP_HOME y configuración de ruta y reinicio? (No es crítico, las cosas funcionan para usted; simplemente tengo curiosidad por saber qué está causando la diferencia).

    – Dan

    13 de julio de 2021 a las 0:49

avatar de usuario
julio delfino

Se me ocurrió este problema y la causa fue que olvidé agregar %HADOOP_HOME%/bin para PATH en mis variables de entorno.

  • Vale la pena señalar que el HADOOP_HOME la variable del usuario o del sistema debe crearse primero antes de que lo anterior pueda agregarse al PATH. Típicamente, HADOOP_HOME apuntaría a dónde está instalado su hadoop, como C:\hadoop-2.8.1. Y como siempre con el cambio de PATH variable, por lo general se requiere un reinicio.

    – sal

    23 de julio de 2019 a las 20:22


Después de probar todo lo anterior, las cosas funcionaron después de poner hadoop.dll en Windows/System32

avatar de usuario
osvaldop

En mi caso, estaba teniendo este problema al ejecutar pruebas unitarias en una máquina local después de actualizar las dependencias a CDH6. Yo ya tenía HADOOP_HOME y PATH variables configuradas correctamente pero tuve que copiar el hadoop.ddl para C:\Windows\System32 como se sugiere en la otra respuesta.

avatar de usuario
Aman Tandón

Para mí, este problema se resolvió al descargar winutils.exe y hadoop.dll de https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin y poniéndolos en la carpeta hadoop/bin

avatar de usuario
ben watson

Yo ya tenía %HADOOP_HOME%/bin en mi PATH y mi código se había ejecutado previamente sin errores. Reiniciar mi máquina hizo que funcionara de nuevo.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad