壹、故障現象
Microsoft Windows [版本 10.0.18362.239]
(c) 2019 Microsoft Corporation,保留所有權利,
C:\Users\Chirius>hadoop version
系統找不到指定的路徑,
Error: JAVA_HOME is incorrectly set.
Please update C:\dhc_hlk\hadoop-2.8.5\etc\hadoop\hadoop-env.cmd
'-Xmx512m' 不是內部或外部命令,也不是可運行的程式
或批處理檔案,
C:\Users\Chirius>
貳、嘗試解決
首先,本人遇見上述錯的先決條件是:在安裝jdk時,使用的是jdk的默認安裝路徑 C:\Program Files\Java\jdk1.xxxx ,然后在Windows電腦上解壓安裝本地hadoop,正確配置hadoop的系統環境變數\(HADOOP_HOME及\)HADOOP_HOME/etc/hadoop/hadoop-env.cmd檔案的java安裝路徑前提下,報了上圖中的這個錯
報錯分析:
在Windows中安裝jdk時,如果是安裝在C:\Program Files\Java\jdk1.8.0_161路徑下,如果需要在其他組件中配置java的環境時,因為C:\Program Files是Windows系統的系統盤,可能在某些場合下訪問的時候,必須以Windows管理員的身份去訪問,例如:我們在Windows中解壓安裝了hadoop,那么需要在$HADOOP_HOME/etc/hadoop/hadoop-env.cmd檔案中手動修改java的安裝路徑,即:set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161

而我們的jdk安裝在jdk的默認安裝路徑下,所以該檔案路徑有可能需要管理員訪問權限才可以訪問,所以如果像上圖中這樣配置會導致hadoop安裝失敗,失敗的原因則是未檢測到jdk環境,才會報Error: JAVA_HOME is incorrectly set.
叁、解決方法
將$HADOOP_HOME/etc/hadoop/hadoop-env.cmd檔案中的 set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161 修改為 set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_161 保存,然后重新在cmd視窗輸入 hadoop version 命令,即可成功!

注意:在$HADOOP_HOME/etc/hadoop/hadoop-env.cmd檔案中的這一行 set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_161 中不能有空格!
Microsoft Windows [版本 10.0.18362.239]
(c) 2019 Microsoft Corporation,保留所有權利,
C:\Users\Chirius>hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /D:/Seven/ways/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
C:\Users\Chirius>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243470.html
標籤:Java
下一篇:SpringCloud之Zuul
