![](/img/trans.png)
[英]JAVA_HOME is incorrectly set when launching Zookeeper on Windows
[英]Hadoop on Windows - "Error JAVA_HOME is incorrectly set."
我試圖讓 Hadoop 在我的 Windows 機器上運行“本地模式”。 我一直在使用本指南: http : //hadoop.apache.org/docs/r1.2.1/single_node_setup.html
當我運行命令:bin/hadoop 時,我收到以下錯誤消息:
錯誤:JAVA_HOME 設置不正確。 請更新 C:...\\hadoop-2.7.1\\conf\\hadoop-env.cmd
在hadoop-env.cmd
,我有一行: set JAVA_HOME=%JAVA_HOME%
當我在命令行輸入echo %JAVA_HOME%
時,我得到: C:\\Java\\jdk1.0.8_51
即使我將hadoop-env.cmd
的行更改為: set JAVA_HOME=C:\\Java\\jdk1.0.8_51
我set JAVA_HOME=C:\\Java\\jdk1.0.8_51
得到同樣的錯誤......
怎么可能是我的JAVA_HOME
不正確?
如果您的JAVA_HOME路徑包含空格,則必須使用Windows 8.3路徑名
像其他答案一樣,您的Java環境路徑不能包含空格。 解決方法如下:
在conf \\ hadoop-env.cmd中使用“%JAVA_HOME%”
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131\
上面的配置拋出與您相同的錯誤。 我在hadoop-env.cmd中使用以下內容更新了它,它實際上是SFN
set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_131\
這使我可以更改/擁有與系統不同的Java版本。
嘗試從hadoop-env.cmd中的@rem中刪除@並設置JAVA_HOME =%JAVA_HOME%
rem The java implementation to use. Required.
設置JAVA_HOME =%JAVA_HOME%
然后嘗試運行hdfs namenode -format
這個解決方案對我有用
如果您的Java環境路徑包含空格,例如“ C:\\ Program Files \\ java \\ xxxxx”,則單詞“ Program Files”包含空格,因此CMD無法識別
這是正確的答案
嘗試將 java 路徑放在雙層中。 例子:
JAVA_HOME="C:\Program Files\Java\jdk-12.0.1"
它應該可以正常工作。
在hadoop-config.xml中,邏輯是
如果不存在,則為%JAVA_HOME%\\ bin \\ java.exe(echo錯誤:JAVA_HOME設置不正確。echo請更新%HADOOP_HOME%\\ conf \\ hadoop-env.cmd goto:eof)
如果您的Java環境路徑包含空格 ,例如“ C:\\ Program Files \\ java \\ xxxxx”,則單詞“ Program Files”包含空格 ,因此CMD無法識別
因此,您可以改為更改路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.