ERROR Shell:396 - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
文章目錄
- 1. 錯誤描述
- 2. 解決步驟
-
- 2.1 下載下傳對應版本的 hadoop 檔案并解壓配置。
- 2.2 `copy` 檔案到 `Sysytem32` 下
- 2.3 配置 hadoop 環境變量
- 2.4 測試
1. 錯誤描述
剛配置完 windows 的 pySpark 開發環境,
cmd
執行
pyspark
報這個錯誤,貌似不影響使用,但是看着是真的難受。

2. 解決步驟
2.1 下載下傳對應版本的 hadoop 檔案并解壓配置。
下載下傳所安裝的 Spark 版本對應的 Hadoop 版本的壓縮包,找個目錄進行解壓。
比如我當時解壓安裝的是
spark-2.3.1-bin-hadoop2.6.tgz
,那麼我就要下載下傳 hadoop2.6.x 的版本。
2.2 copy
檔案到 Sysytem32
下
copy
Sysytem32
将
xx\xx\hadoop-2.6.5\bin
下的
hadoop.dll
檔案和
winutils.exe
檔案拷貝到
C:\Windows\System32
下面各一份(若有檔案重複,忽略此步驟)
2.3 配置 hadoop 環境變量
(1)建立系統環境變量
HADOOP_HOME
,值為剛剛解壓的 hadoop 所在目錄。
(2)修改 path 變量:添加一項配置
%HADOOP_HOME%\bin
(3)測試 hadoop 環境變量配置成功沒有。
出現版本資訊即可。
2.4 測試
這個時候再來試一下,發現不報錯了。