windows下IDEA配置Spark調試錯誤總結

Windows10下 用IDEA編寫scala程序導入sparkjar包在本地local模式下跑
會遇到以下幾個問題:

  1. Could not locate executable null\bin\winutils.exe in the Hadoop binaries
    解釋一下這個問題,一般會報錯,典型的沒有winutils.exe文件導致的錯誤
    在這裏插入圖片描述
    記住這個shell.335的錯,我們看源碼點進去
    在這裏插入圖片描述
    報錯的原因是hadoop_home_dir沒有
    在這裏插入圖片描述
    仔細找我們發現是通過checkHadoopHome()
    方法獲得的變量,繼續看一下
    在這裏插入圖片描述

到這裏我們就清楚了,最開始可以通過程序寫進去hadoop的路徑,例如:
在這裏插入圖片描述
System.setProperty(“hadoop.home.dir”,“E:\Spark\hadoop-common-2.2.0-bin-ma” )

當然也可以不寫,這樣就可以走system.getenv方法直接從配置環境變量中獲取也可以

這裏給大家一個路徑,可以下載各個版本的winutils.exe文件,因爲版本不對也會導致報錯
https://github.com/4ttty/winutils/tree/master

下載完畢後記得放在非中文路徑下避免檢測不到
然後配置環境變量HADOOP_HOME 然後運行即可

  1. 有的時候即使配置了環境變量運行多次依然沒有效果可能是你的IDEA已經有了默認的環境變量所以此時重啓IDEA再次運行可能就會成功

  2. org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V
    如果你報的是這個錯,代表你的hadoop.dll版本不對應
    在這裏插入圖片描述
    需要下載和你spark-hadoop版本相對應的hadoop.dll
    即可

IDEA打包常見錯誤:
打包出來的文件是一個文件夾而不是一個jar包
原因:
在這裏插入圖片描述

右上角可能變成other,所以需要改成jar類型

注意:
在這裏插入圖片描述
打成jar的這個減號不要老是點
因爲點完以後再次設置的時候會包錯
你可以在右邊更改配置,但是不要老是刪除
在這裏插入圖片描述

如果報錯,可以直接將out文件夾刪除,裏面存放着編譯好的class文件和jar包信息
在這裏插入圖片描述
然後重試即可!

在spark集羣中跑jar包可能會遇到加載不到主類的情況,可能是你的類名或者jar包的位置沒有寫清楚

仔細看即可!

  1. 如果是你的main方法中什麼都沒寫,就寫了個println打印結果報錯:
    Error running ‘Test_Demo’: Command line is too long. Shorten command line for Test_Demo or also for Application default configuration.
    翻譯:運行“test_demo”時出錯:命令行太長。縮短測試演示或應用程序默認配置的命令行。
    這是因爲你配置的jar包所在位置的命令行太長了,超出限制
    解決辦法:
    修改項目下 .idea\workspace.xml,找到標籤 , 在標籤里加一行

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章