JAVA_HOME è impostato in modo errato - Hadoop su Windows 10 [duplicato]

Oct 19 2020

Contesto: sto cercando di installare Hadoop sul mio computer Windows 10. Ho seguito le indicazioni qui e ho molte difficoltà a completare il processo. Continuo a generare il seguente errore:

Il sistema non può trovare il percorso specificato. Errore: JAVA_HOME è impostato in modo errato. Aggiorna C: \ Users \ eric \ Downloads \ hadoop-3.1.4.tar \ hadoop-3.1.4 \ hadoop-3.1.4 \ etc \ hadoop \ hadoop-env.cmd'-Dhadoop.security.logger 'non lo è riconosciuto come comando interno o esterno, programma eseguibile o file batch.

Quando controllo la versione di Java, ottengo quanto segue, quindi so per certo che Java è stato installato.

C:\Java\bin>java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

Ho dedotto dall'errore sopra riportato che c'è un problema con il percorso nella variabile d'ambiente che ho impostato per JAVA_HOME. Non sono davvero chiaro il motivo per cui l'errore si riferisce a quella directory nel messaggio perché quando sono echo %JAVA_HOME%al terminale ottengo C:\Java\bincome percorso della variabile d'ambiente (come consigliato qui ).

Domanda: Immagino che il file jdk non possa essere trovato / perso o qualcos'altro. Come risolvo questi problemi? E dove posso trovare questo file JDK (il jdkl.8.0_241file mostrato @ 11:55 nel video) perché non sembra essere nella cartella bin del download JDK? Per favore aiuto. Questa domanda NON è un duplicato, perché il problema sembra essere più strettamente correlato al file JDK.

Risposte

JasperHuzen Oct 19 2020 at 21:16

JAVA_HOME dovrebbe puntare alla directory root di un JDK Java e dovrebbe essere specificato nella variabile di ambiente s. Dopo aver impostato questo valore, è necessario riavviare il terminale / applicazione / console / IDE / prompt dei comandi per rendere attivo il nuovo valore.

Se dai semplicemente: java --versionusa la prima versione di java.exe trovata sul tuo PATH . JAVA_HOME e la versione java PATH non hanno alcuna relazione tra loro.

JAVA_HOME può essere specificato ad esempio in: "c: / java / jdk9" e il percorso include "c: / java / jdk8 / bin". In questa situazione java --versionti darò 1.8.x.x.

JAVA_HOME viene utilizzato dai processi che eseguono il fork a nuove sottoprocessi e quindi utilizzano quel valore JAVA_HOME .

Nella tua situazione probabilmente manca solo uno spaziatore nella / dopo la chiamata a hadoop-env.cmd ?? (non chiaro con le informazioni attuali)