2014-11-18 21 views
15

Dopo aver estratto hadoop nel mio disco C ho provato ad eseguire il comando di versione hadoop e ottenere l'errore di sotto. JAVA_HOME è impostato correttamente nella mia variabile di ambiente. Qualcuno può aiutare su questo errore?Installazione di Hadoop su Windows

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. 

risposta

2

Aggiungi la posizione del cestino java alla variabile di ambiente path. come

path = path;$JAVA_HOME/bin 
+0

Questo dovrebbe funzionare ma sfortunatamente ho perso un'ora cercando di modificare le variabili di ambiente senza successo. Alla fine, copiare java su un percorso "senza spazi" ha funzionato. – Sreekar

1

prompt dei comandi aperto e provare questo ... echo% JAVA_HOME% quindi controllare java insieme a casa o no. Se non impostato java home.

Controllare here come impostare JAVA_HOME in Windows

12

installare JDK in una cartella senza spazi. Invece di C:\Program Files\Java\jdk1.8.x_xx, prova C:\java\jdk1.8.x_xx.

+5

Che anno è? Seriamente questo genere di cose si rompe ancora in un'installazione matura di qualcosa ??? Colora me sorpreso. –

14

Appena affrontato lo stesso problema (Win 8.1 + Hadoop 2.7.0 [build from sources]).

Il problema si è rivelato essere (ol 'buono) spazio nel nome del percorso in cui si trova java (in C: \ Programmi \ dir). Quello che ho fatto è stato questo:

1) Copia JDK dir C: \ Java \ jdk1.8.0_40

2) Modifica \ etc \ Hadoop \ Hadoop-env.cmd e il cambiamento: set JAVA_HOME = c: \ Java \ jdk1.8.0_40

3) cmd Run ed eseguire Hadoop-env.cmd

4) ora controllare 'la versione Hadoop' se è ancora lamentarsi (il mio non era)

3

Controlla la tua JAVA_HOME.

Se è C: \ Programmi \ Java \ jdk1.7.0_65. Allora incontrerai questi problemi. Fatto in C: \ MyDrive \ Java \ jdk1.7.0_65 e ha funzionato. Lo spazio in "Programmi" crea problemi.

PATH è PATH;%JAVA_HOME%\bin

Se si utilizza Windows, allora sicuramente si sta per affrontare questioni come (a causa di problemi x64 e x86):

1.

FATAL datanode.DataNode: Eccezione in secureMain java.lang.NullPointerException e

2.

namenode.NameNode FATAL: Impossibile avviare NameNode. java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO $ Windows.access0 (Ljava/lang/String; I)

Soluzione:

copiare questi file hadoop.dll, hadoop.exp , hadoop.lib, hadoop.pdb, libwinutils.lib, winutils.exe, winutils.pdb dal link alla cartella bin di hadoop installato loaction che assomiglia a questo. .. \ HadoopInstalled \ Hadoop \ Hadoop-2.6.0 \ Hadoop-2.6.0 \ bin

17

La maggior parte delle risposte suggerisce di copiare il percorso di installazione JDK. Tuttavia, se non si è sicuri di farlo, è possibile utilizzare Windows short path per impostare il nome del percorso in modo che tutte le applicazioni possano accedere al percorso senza problemi.

Nozione di impostare variabile ENV se contiene spazi bianchi:

Progra~1 = 'Program Files' 
Progra~2 = 'Program Files(x86)' 
2

Il motivo per voi di errore è lo spazio tra la "Programmi". Sostituirlo con PROGRA ~ 1 in tutti i percorsi durante la configurazione

+0

Sì cane, ha funzionato. –

2

Per evitare di dover installare un altro JDK in un percorso che non ha uno spazio, è possibile creare un collegamento simbolico con il comando di Windows mklink. Ecco come.

  1. Aprire un prompt cmd come amministratore.
  2. Passare a C: \ se il prompt cmd non si apre lì.
  3. Creare il collegamento simbolico. Qui, sto impostando il percorso che Hadoop si lamenta (con Program Files) in un percorso più semplice senza spazi. L'argomento/D significa che stai creando un collegamento simbolico di directory.

    mklink/D \ java_home "C: \ Program Files \ Java \ jdk1.7.0_65"

  4. Nella tua Hadoop-env.cmd, impostare la JAVA_HOME per il collegamento simbolico è stato creato:

    imposta JAVA_HOME = \ java_home

Questo è ciò che ha funzionato per me. Maggiori informazioni sulla creazione di link simbolico in Windows: http://www.windows7home.net/how-to-create-symbolic-link-in-windows-7/

0

La soluzione a questo problema è semplice

La maggior parte delle persone sarà l'impostazione del JAVA_HOME come C: \ Program Files \ Java \ jdk1.8.0_121

C'è problema qui è con gli spazi e che cosa dovete fare è copiare l'contentd di jdk1.8.0_121 in una cartella in C drive, dire C: \ java

Ora utilizzare questo percorso come JAVA_HOME

0

È possibile eseguire il debug del file hadoop.cmd nella cartella bin, potrebbe esserci qualche comando che presenta un problema di sintassi o percorso improprio.

Aprire il file hadoop.cmd e vedere la prima riga "@echo off" sarà lì. Cambiare "@echo off" su "@echo on" e salvarlo. Esegui il comando "hadoop -version" ora. Verrà visualizzato l'errore per il quale il comando "sintassi del comando non è corretto". Correggilo, se il problema di sintassi è presente o potrebbe esserci qualche problema di percorso.

0

"@echo on" ci aiuterà a rintracciare l'errore. Il messaggio viene visualizzato dal file hadoop-config.cmd. Pls copia C: \ Program Files \ Java in C: \ Java e modifica il percorso e prova. Questo funzionerà.

1

Ho anche affrontato un problema simile, seguendo i passaggi risolti errore per me.

Download & Installare Java in c:/java/

(make sure the path is this way, if java is installed in program files, then hadoop-env.cmd will not recognize java path)

Download Hadoop distribuzione binaria.

Set Variabili d'ambiente:

JAVA_HOME = "c:/Java" 
HADOOP_HOME="<your hadoop home>" 
Path= "JAVA_HOME/bin" 
Path = "HADOOP_HOME/bin" 

ecco un GitHub link, che ha winutils di alcune versioni di Hadoop.

(if the version you are using is not in the list, the follow the conventional method for setting up Hadoop on windows - link)

Se hai trovato la tua versione, quindi copiare incollare tutti i contenuti della cartella in percorso:/bin/

Set all the .xml configuration files - Link

e infine impostare il percorso JAVA_HOME in Hadoop-env.cmd file di

Probabilmente risolverà l'errore 'JAVA_HOME is incorrectly set.'

Spero che questo aiuti.

Problemi correlati