Après avoir extrait hadoop dans mon lecteur C, j’ai essayé d’exécuter la commande hadoop version et l’obtention d’une erreur inférieure à l’erreur. Java_HOME
est défini correctement dans la variable d’environnement. Quelqu'un peut-il aider sur cette erreur?
C:\>hadoop version
The system cannot find the path specified.
Error: Java_HOME is incorrectly set.
Please update C:\hadoop-2.5.1\conf\hadoop-env.cmd '-Xmx512m' is not recognized as an internal or external command, ooperable program or batch file.
La plupart des réponses suggèrent de copier le chemin d'installation du JDK. Toutefois, si vous ne le maîtrisez pas bien, vous pouvez utiliser le chemin d'accès court Windows pour définir le nom du chemin afin que toutes les applications puissent accéder au chemin sans tracas.
Notion de définir la variable env si elle contient des espaces:
Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'
Je viens de faire face au même problème (Win 8.1 + Hadoop 2.7.0 [build from sources]).
Le problème s’est avéré être l’espace (ancien) correct dans le nom du chemin où se trouve Java (sous C:\Program Files\dir). Ce que j'ai fait était ceci:
1) Copiez le répertoire JDK dans C:\Java\jdk1.8.0_40.
2) éditez\etc\hadoop\hadoop-env.cmd et changez: set Java_HOME = c:\Java\jdk1.8.0_40
3) lancer cmd et exécuter hadoop-env.cmd
4) maintenant vérifier 'version hadoop' si elle se plaint toujours (mon n'était pas)
Installez le JDK dans un dossier sans espaces ..__ Au lieu de C:\Program Files\Java\jdk1.8.x_xx
, essayez C:\Java\jdk1.8.x_xx
.
La raison de votre erreur est l’espace entre les "Program Files". Remplacez-le par PROGRA ~ 1 dans tous les chemins lors de la configuration
Vérifiez votre Java_HOME
.
S'il s'agit de C:\Program Files\Java\jdk1.7.0_65. Ensuite, vous rencontrerez de tels problèmes . Faites-le à C:\MyDrive\Java\jdk1.7.0_65 et cela a fonctionné. L'espace dans "Program Files" crée des problèmes.
PATH est PATH;%Java_HOME%\bin
Si vous utilisez Windows, alors vous allez sûrement faire face à des problèmes tels que (en raison de problèmes X64 et X86):
FATAL datanode.DataNode: Exception dans secureMain Java.lang.NullPointerException Et.
FATAL namenode.NameNode: Impossible de démarrer namenode. Java.lang.UnsatisfiedLinkError: org.Apache.hadoop.io.nativeio.NativeIO $ Windows.access0 (Ljava/lang/String; I)
Copiez ces fichiers hadoop.dll, hadoop.exp, hadoop.lib, hadoop.pdb, libwinutils.lib, winutils.exe, winutils.pdb à partir du link Dans votre dossier bin de hadoop installé. comme ça. ..\HadoopInstalled\hadoop\hadoop-2.6.0\hadoop-2.6.0\bin
La solution à ce problème est simple
La plupart des gens vont définir Java_HOME comme C:\Program Files\Java\jdk1.8.0_121
Il y a un problème avec les espaces et vous devez copier le contenu de jdk1.8.0_121 dans un dossier du lecteur C, par exemple C:\Java
Maintenant, utilisez ce chemin comme Java_HOME
Ajoutez votre emplacement de corbeille Java à votre variable d’environnement path
. Like
path = path;$Java_HOME/bin
Pour éviter d'avoir à installer un autre JDK dans un chemin sans espace, vous pouvez créer un lien symbolique avec la commande Windows mklink. Voici comment.
Créez le lien symbolique. Ici, je règle le chemin dont se plaint Hadoop (avec Program Files) sur un chemin plus simple sans espaces. L'argument/D signifie que vous créez un lien symbolique dans un répertoire.
mklink/D\Java_home "C:\Program Files\Java\jdk1.7.0_65"
Dans votre hadoop-env.cmd, définissez votre Java_HOME sur le lien symbolique que vous avez créé:
set Java_HOME =\Java_home
C'est ce qui a fonctionné pour moi. Plus d'informations sur la création d'un lien symbolique dans Windows: http://www.windows7home.net/how-to-create-symbolic-link-in-windows-7/
J'ai également fait face à un problème similaire, en suivant les étapes résolues erreur pour moi.
Téléchargez & Installez Java dans c:/Java/
(assurez-vous que le chemin est ainsi, si Java est installé dans les fichiers programme , hadoop-env.cmd ne reconnaîtra pas le chemin Java)
Téléchargement Distribution binaire Hadoop.
Définir les variables d'environnement:
Java_HOME = "c:/Java"
HADOOP_HOME="<your hadoop home>"
Path= "Java_HOME/bin"
Path = "HADOOP_HOME/bin"
Voici un lien GitHub , qui contient quelques versions de Hadoop.
(Si la version que vous utilisez ne figure pas dans la liste, suivez la méthode classique pour configurer Hadoop sous Windows - link )
Si vous avez trouvé votre version, copiez puis collez tout le contenu du dossier dans le chemin:/bin /
Définir tous les fichiers de configuration .xml - Lien
Et enfin, définissez le chemin Java_HOME dans le fichier hadoop-env.cmd
Cela résoudra probablement l'erreur 'Java_HOME is incorrectly set.'
J'espère que cela t'aides.
ouvrez la commande Invite et essayez ceci ... echo% Java_HOME% puis cochez Java Home Set ou non. Si non défini la maison Java.
Vérifiez ici comment définir Java_HOME dans Windows
"@echo on" nous aidera à retracer l'erreur. Le message apparaît à partir du fichier hadoop-config.cmd. Pls copiez le C:\Program Files\Java dans C:\Java et changez le chemin et essayez. Cela fonctionnera.
Veuillez ajouter la ligne suivante dans hadoop-env.cmd
. Cela devrait être la première ligne dans hadoop-env.cmd
après les commentaires.
set Java_HOME=C:\Progra~1\Java\jdk1.8.0_131\
Le nom abrégé de Progra ~ 1 est SFN
Ceci sans avoir besoin de copier Java dans un autre répertoire comme prévu dans d'autres réponses et vous pouvez avoir la version Java qui est spécifique à hadoop.
Vous pouvez déboguer le fichier hadoop.cmd dans le dossier bin. Certaines commandes peuvent avoir un problème de syntaxe ou un chemin incorrect.
Ouvrez le fichier hadoop.cmd et voyez que la première ligne "@echo off" sera présente. Changez "@echo off" en "@echo on" et enregistrez-le. Exécutez la commande "hadoop -version" maintenant. Il vous montrera pour quelle commande la "syntaxe de la commande est incorrecte" est une erreur. Corrigez-le si le problème de syntaxe existe ou s'il existe un problème de chemin.
Supprimez simplement le dossier bin du fichier hadoop-env.cmd (C:\hadoop-2.8.0\etc\hadoop\hadoop-env.cmd
) "C:\Java\jdk-9.0.1\bin
" et définissez le chemin que j'ai mentionné ci-dessous. cela a fonctionné pour moi.
set Java_HOME="C:\Java\jdk-9.0.1"