Recibo el siguiente error al iniciar namenode para la última versión de hadoop-2.2. No encontré el archivo exe de winutils en la carpeta bin hadoop. Intenté debajo de los comandos
$ bin/hdfs namenode -format
$ sbin/yarn-daemon.sh start resourcemanager
ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - 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:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:863)
Respuestas:
Solución simple: descárguelo desde aquí y agréguelo a
$HADOOP_HOME/bin
( Fuente )
ACTUALIZACIÓN IMPORTANTE:
Para hadoop-2.6.0 puede descargar binarios del blog de Titus Barik >> .
No solo he necesitado apuntar
HADOOP_HOME
al directorio extraído[path]
, sino también proporcionar propiedades del sistema-Djava.library.path=[path]\bin
para cargar bibliotecas nativas (dll).fuente
Si se enfrenta a este problema al ejecutar una aplicación local autónoma con Spark (es decir, después de agregar spark-assembly-xxx-hadoopx.xxjar o la dependencia de Maven al proyecto), una solución más sencilla sería poner winutils.exe (descargar desde aquí ) en "C: \ winutil \ bin". Luego, puede agregar winutils.exe al directorio de inicio de hadoop agregando la siguiente línea al código:
Fuente: Haga clic aquí
fuente
hadoop/bin/bin/
. Así que simplemente copie labin
carpeta winutils en la carpeta de hadoopbin
. (HADOOP_HOME
se establece en env vars)System.setProperty("hadoop.home.dir", "c:\\winutil\\")
Si tomamos directamente la distribución binaria de la versión Apache Hadoop 2.2.0 e intentamos ejecutarla en Microsoft Windows, entonces encontraremos ERROR util.Shell: No se pudo ubicar el binario winutils en la ruta binaria hadoop.
La distribución binaria de la versión Apache Hadoop 2.2.0 no contiene algunos componentes nativos de Windows (como winutils.exe, hadoop.dll, etc.). Estos son necesarios (no opcionales) para ejecutar Hadoop en Windows.
Por lo tanto, debe crear una distribución binaria nativa de Windows de hadoop a partir de los códigos fuente siguiendo el archivo "BUILD.txt" ubicado dentro de la distribución fuente de hadoop. También puede seguir las siguientes publicaciones para obtener una guía paso a paso con captura de pantalla
Cree, instale, configure y ejecute Apache Hadoop 2.2.0 en el sistema operativo Microsoft Windows
ERROR util.Shell: no se pudo ubicar el binario winutils en la ruta binaria de hadoop
fuente
La declaración java.io.IOException: no se pudo localizar el ejecutable null \ bin \ winutils.exe
explica que el nulo se recibe al expandir o reemplazar una variable de entorno. Si ve la fuente en Shell.Java en el paquete común, encontrará que la variable HADOOP_HOME no se está configurando y está recibiendo nulo en lugar de eso y, por lo tanto, el error.
Por lo tanto, HADOOP_HOME debe configurarse para esto correctamente o la propiedad variable hadoop.home.dir.
Espero que esto ayude.
Gracias, Kamleshwar.
fuente
Winutils.exe se utiliza para ejecutar los comandos de shell para SPARK. Cuando necesite ejecutar Spark sin instalar Hadoop, necesita este archivo.
Los pasos son los siguientes:
Descargue winutils.exe desde la siguiente ubicación para hadoop 2.7.1 https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin [NOTA: Si está utilizando una versión separada de hadoop, descargue la winutils de la carpeta de la versión correspondiente de hadoop en GITHUB desde la ubicación mencionada anteriormente.]
Ahora, cree una carpeta 'winutils' en C: \ drive. Ahora cree una carpeta 'bin' dentro de la carpeta 'winutils' y copie winutils.exe en esa carpeta. Entonces, la ubicación de winutils.exe será C: \ winutils \ bin \ winutils.exe
Ahora, abra la variable de entorno y configure HADOOP_HOME = C: \ winutils [NOTA: No agregue \ bin en HADOOP_HOME y no es necesario configurar HADOOP_HOME en la ruta]
¡Tu problema debe resolverse!
fuente
Me encontré con este problema mientras trabajaba con Eclipse. En mi caso, descargué la versión correcta de Hadoop (hadoop-2.5.0-cdh5.3.0.tgz), extraje el contenido y lo coloqué directamente en mi unidad C. Después fuí a
Eclipse-> Configuraciones de depuración / ejecución -> Entorno (pestaña) -> y agregado
variable: HADOOP_HOME
Valor: C: \ hadoop-2.5.0-cdh5.3.0
fuente
Puede descargar winutils.exe aquí: http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
Luego cópielo en su
HADOOP_HOME/bin
directorio.fuente
En Pyspark, para ejecutar la aplicación Spark local usando Pycharm, use las siguientes líneas
fuente
winutils.exe son necesarios para que hadoop ejecute comandos relacionados con hadoop. descargue el archivo zip hadoop-common-2.2.0. winutils.exe se puede encontrar en la carpeta bin. Extraiga el archivo zip y cópielo en la carpeta local hadoop / bin.
fuente
Estaba enfrentando el mismo problema. Eliminar el
bin\
de la ruta HADOOP_HOME lo resolvió por mí. La ruta de la variable HADOOP_HOME debería tener un aspecto similar a.Puede ser necesario reiniciar el sistema. En mi caso, reiniciar el IDE fue suficiente.
fuente
Configure la variable HADOOP_HOME en Windows para resolver el problema.
Puede encontrar la respuesta en
org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0-sources.jar!/org/apache/hadoop/util/Shell.java
:IOException de
HADOOP_HOME_DIR de
fuente
desde URL:
https://github.com/steveloughran/winutils/hadoop-
version
/ binNota: Debe establecer variables ambientales:
Variable de usuario:
Variable : HADOOP_HOME
Valor : Hadoop o Spark dir
fuente
Estaba teniendo el mismo problema en Windows. Lo arreglé por
fuente
Descargue la versión deseada de la carpeta hadoop (digamos que si está instalando Spark en Windows, entonces la versión de Hadoop para la que está construido su Spark) desde este enlace como zip.
Extraiga el zip al directorio deseado. Debe tener un directorio del formulario
hadoop\bin
(cree explícitamente dichahadoop\bin
estructura de directorio si lo desea) quebin
contenga todos los archivos contenidos en labin
carpeta del hadoop descargado. Este contendrá muchos archivos como hdfs.dll, hadoop.dll, etc. además de winutil.exe.Ahora cree la variable de entorno
HADOOP_HOME
y establézcala en<path-to-hadoop-folder>\hadoop
. Luego agregue;%HADOOP_HOME%\bin;
aPATH
la variable de entorno.Abra un "nuevo símbolo del sistema" e intente volver a ejecutar su comando.
fuente
Usé las versiones "hbase-1.3.0" y "hadoop-2.7.3". Establecer la variable de entorno HADOOP_HOME y copiar el archivo 'winutils.exe' en la carpeta HADOOP_HOME / bin resuelve el problema en un sistema operativo Windows. Atención para configurar el entorno HADOOP_HOME en la carpeta de instalación de hadoop (la carpeta / bin no es necesaria para estas versiones). Además, preferí usar la herramienta multiplataforma cygwin para configurar la funcionalidad del sistema operativo linux (lo más posible) porque el equipo de Hbase recomienda env linux / unix.
fuente