J'obtiens l'erreur suivante lors du démarrage de namenode pour la dernière version hadoop-2.2. Je n'ai pas trouvé le fichier winutils exe dans le dossier hadoop bin. J'ai essayé les commandes ci-dessous
$ 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)
Réponses:
Solution simple: téléchargez-le ici et ajoutez-le à
$HADOOP_HOME/bin
( Source )
MISE À JOUR IMPORTANTE:
Pour hadoop-2.6.0 vous pouvez télécharger des binaires depuis le blog Titus Barik >> .
J'ai non seulement besoin de pointer
HADOOP_HOME
vers le répertoire extrait[path]
, mais également de fournir une propriété système-Djava.library.path=[path]\bin
pour charger des bibliothèques natives (dll).la source
Si vous rencontrez ce problème lors de l'exécution d'une application locale autonome avec Spark (c'est-à-dire après avoir ajouté spark-assembly-xxx-hadoopx.xxjar ou la dépendance Maven au projet), une solution plus simple serait de mettre winutils.exe (télécharger d' ici ) dans "C: \ winutil \ bin". Ensuite, vous pouvez ajouter winutils.exe au répertoire de base hadoop en ajoutant la ligne suivante au code:
Source: Cliquez ici
la source
hadoop/bin/bin/
. Copiez donc simplement lebin
dossier winutils dans le dossier de hadoopbin
. (HADOOP_HOME
se déroule dans les vars env)System.setProperty("hadoop.home.dir", "c:\\winutil\\")
Si nous prenons directement la distribution binaire de la version Apache Hadoop 2.2.0 et essayons de l'exécuter sur Microsoft Windows, alors nous rencontrerons ERROR util.Shell: Impossible de localiser le binaire winutils dans le chemin binaire hadoop.
La distribution binaire de la version Apache Hadoop 2.2.0 ne contient pas certains composants natifs de Windows (comme winutils.exe, hadoop.dll etc.). Ceux-ci sont obligatoires (non facultatifs) pour exécuter Hadoop sous Windows.
Vous devez donc créer une distribution binaire native de hadoop pour Windows à partir des codes sources suivant le fichier "BUILD.txt" situé dans la distribution source de hadoop. Vous pouvez également suivre les articles suivants pour un guide étape par étape avec capture d'écran
Créer, installer, configurer et exécuter Apache Hadoop 2.2.0 dans le système d'exploitation Microsoft Windows
ERREUR util.Shell: Impossible de localiser le binaire winutils dans le chemin binaire hadoop
la source
L'instruction java.io.IOException: impossible de localiser l'exécutable null \ bin \ winutils.exe
explique que la valeur NULL est reçue lors du développement ou du remplacement d'une variable d'environnement. Si vous voyez la source dans Shell.Java dans le package commun, vous constaterez que la variable HADOOP_HOME n'est pas définie et que vous recevez null à la place de cela et donc de l'erreur.
Ainsi, HADOOP_HOME doit être défini correctement pour cela ou la propriété variable hadoop.home.dir.
J'espère que cela t'aides.
Merci, Kamleshwar.
la source
Winutils.exe est utilisé pour exécuter les commandes shell pour SPARK. Lorsque vous devez exécuter Spark sans installer Hadoop, vous avez besoin de ce fichier.
Les étapes sont les suivantes:
Téléchargez winutils.exe à partir de l'emplacement suivant pour hadoop 2.7.1 https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin [REMARQUE: Si vous utilisez une version hadoop séparée, veuillez télécharger le winutils à partir du dossier de version hadoop correspondant sur GITHUB à partir de l'emplacement mentionné ci-dessus.]
Maintenant, créez un dossier 'winutils' dans le lecteur C: \. Créez maintenant un dossier «bin» dans le dossier «winutils» et copiez le winutils.exe dans ce dossier. Ainsi, l'emplacement de winutils.exe sera C: \ winutils \ bin \ winutils.exe
Maintenant, ouvrez la variable d'environnement et définissez HADOOP_HOME = C: \ winutils [REMARQUE: veuillez ne pas ajouter \ bin dans HADOOP_HOME et pas besoin de définir HADOOP_HOME dans Path]
Votre problème doit être résolu !!
la source
Je viens de rencontrer ce problème en travaillant avec Eclipse. Dans mon cas, j'avais téléchargé la bonne version de Hadoop (hadoop-2.5.0-cdh5.3.0.tgz), j'ai extrait le contenu et l'ai placé directement dans mon lecteur C. Puis je suis allé à
Eclipse-> Configurations de débogage / exécution -> Environnement (onglet) -> et ajouté
variable: HADOOP_HOME
Valeur: C: \ hadoop-2.5.0-cdh5.3.0
la source
Vous pouvez télécharger winutils.exe ici: http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
Puis copiez-le dans votre
HADOOP_HOME/bin
répertoire.la source
Dans Pyspark, pour exécuter une application Spark locale à l'aide de Pycharm, utilisez les lignes ci-dessous
la source
winutils.exe est requis pour que hadoop exécute les commandes liées à hadoop. veuillez télécharger le fichier zip hadoop-common-2.2.0. winutils.exe se trouve dans le dossier bin. Extrayez le fichier zip et copiez-le dans le dossier hadoop / bin local.
la source
J'étais confronté au même problème. Supprimer le
bin\
du chemin HADOOP_HOME l'a résolu pour moi. Le chemin de la variable HADOOP_HOME doit ressembler à quelque chose comme.Un redémarrage du système peut être nécessaire. Dans mon cas, redémarrer l'IDE était suffisant.
la source
Configurez la variable HADOOP_HOME dans Windows pour résoudre le problème.
Vous pouvez trouver la réponse dans
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
la source
partir de l'URL:
https://github.com/steveloughran/winutils/hadoop-
version
/ binRemarque: Vous devez définir des variables d'environnement:
Variable utilisateur:
Variable : HADOOP_HOME
Valeur : Hadoop ou spark dir
la source
J'avais le même problème dans Windows. Je l'ai réparé par
la source
Téléchargez la version souhaitée du dossier hadoop (par exemple, si vous installez spark sur Windows, puis la version hadoop pour laquelle votre spark est conçu) à partir de ce lien sous forme de zip.
Extrayez le zip dans le répertoire souhaité. Vous devez avoir un répertoire de la forme
hadoop\bin
(créez explicitement une tellehadoop\bin
structure de répertoire si vous le souhaitez)bin
contenant tous les fichiers contenus dans lebin
dossier du hadoop téléchargé. Cela contiendra de nombreux fichiers tels que hdfs.dll, hadoop.dll etc. en plus de winutil.exe.Créez maintenant une variable d'environnement
HADOOP_HOME
et définissez-la sur<path-to-hadoop-folder>\hadoop
. Puis ajoutez;%HADOOP_HOME%\bin;
àPATH
la variable d'environnement.Ouvrez une "nouvelle invite de commande" et essayez de réexécuter votre commande.
la source
J'ai utilisé les versions "hbase-1.3.0" et "hadoop-2.7.3". La définition de la variable d'environnement HADOOP_HOME et la copie du fichier 'winutils.exe' sous le dossier HADOOP_HOME / bin résout le problème sur un système d'exploitation Windows. Attention à définir l'environnement HADOOP_HOME sur le dossier d'installation de hadoop (le dossier / bin n'est pas nécessaire pour ces versions). De plus, j'ai préféré utiliser l'outil multiplateforme cygwin pour régler les fonctionnalités du système d' exploitation Linux (autant que possible), car l'équipe Hbase recommande Linux / Unix env.
la source