解決Hadoop報錯:Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
程序報錯
菜鳥記錄學習Spark過程中的諸多坑,開始學習Spark時,按照教程運行Spark項目Local模式時IDEA出現Hadoop報錯:Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 上csdn一查覺得是個非常入門的問題,按照參考方法下載hadoop-bin,然後添加環境變量,重啓測試沒有用,一時語塞,小白就是這麼好欺負。
解決辦法一
直接在Scala類中添加語句設置hadoop.home.dir
:
// Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
System.setProperty("hadoop.home.dir", "D:\\Application\\Java\\winutils\\hadoop-3.0.0")
注意不要習慣在絕對地址上加bin,直接是目錄地址就行,調用hadoop時程序會自動去該地址下的bin中去找winutils.exe。
解決辦法二
在IDEA中配置RunConfiguration,添加HADOOP_HOME變量:
參考
[1].Stackoverflow關於此項報錯的解答參考
[2].CSDN關於此項報錯的解答參考
[3].hadoop-x.x.x/bin各個版本的github下載地址