web-dev-qa-db-fra.com

Installation de Hadoop sur Windows

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.
16
user3471380

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)'
22
dmachop

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)

16
Mariusz

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.

12
adin

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

4
Neethu

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): 

1 .

FATAL datanode.DataNode: Exception dans secureMain Java.lang.NullPointerException Et. 

2.

FATAL namenode.NameNode: Impossible de démarrer namenode. Java.lang.UnsatisfiedLinkError: org.Apache.hadoop.io.nativeio.NativeIO $ Windows.access0 (Ljava/lang/String; I)

Solution :

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

3
BaBa Somanath

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 

2
Shoaib

Ajoutez votre emplacement de corbeille Java à votre variable d’environnement path . Like

path = path;$Java_HOME/bin
2
Rengasamy

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.

  1. Ouvrez une invite de commande en tant qu'administrateur.
  2. Accédez à C:\si l'invite de commande ne s'ouvre pas.
  3. 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"

  4. 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/

2
Mushu909

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.

1
Raxit Solanki

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 

1
Kumar

"@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.

0
Praveen K P

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. 

0
Jabir

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. 

0
user2538190

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"
0
sudhagar