2014-12-23 44 views
24

我試圖運行spark-submit,並且得到了 「找不到Spark程序集JAR。 您需要在運行此程序之前構建Spark。」 當我嘗試運行spark-shell時,出現同樣的錯誤。 在這種情況下,我必須做些什麼。爲什麼spark-submit和spark-shell會失敗,並顯示「未能找到Spark程序集JAR,您需要在運行此程序之前構建Spark」。

+0

需要更多信息。如何打包您的項目?啓動火花提交命令行.. – gasparms

+0

我通過命令打包它: mvn包 –

回答

26

您的Spark包不包含已編譯的Spark代碼。這就是爲什麼你從這些腳本​​和spark-shell得到錯誤消息。

您必須從the Spark download page的「選擇軟件包類型」部分下載預建版本之一。

+5

我得到相同的錯誤,並下載了火花的預建版本。運行窗口 – Marin

+0

@Marin如果你問你的問題,請你創建新的問題,並描述你的環境(Spark版本,操作系統版本,Java版本等) – gonbe

9

嘗試運行mvn -DskipTests clean package首先構建Spark。

35

在Windows上,我發現如果它安裝在路徑中具有空格的目錄中(C:\ Program Files \ Spark),則安裝將失敗。將其移動到根目錄或另一個沒有空格的目錄。

+2

10x!爲我解決它。 – user2656851

+3

這是最好的答案。接受的答案是顯而易見的。 –

+1

這給我修好了。 – Tensigh

3

如果您的火花二進制文件位於文件夾名稱中有空格的文件夾中(例如「Program Files(x86)」),則不起作用。我將其更改爲「Program_Files」,然後spark_shell命令在cmd中工作。

+3

這與jurban1997's(3個月大)的答案完全相同。 – melpomene

0

星火安裝:

對於Windows機器:

 
Download spark-2.1.1-bin-hadoop2.7.tgz from this site https://spark.apache.org/downloads.html 

Unzip and Paste your spark folder in C:\ drive and set environment variable. 

If you don’t have Hadoop, 
you need to create Hadoop folder and also create Bin folder in it and then copy and paste winutils.exe file in it. 

download winutils file from [https://codeload.github.com/gvreddy1210/64bit/zip/master][1] 

and paste winutils.exe file in Hadoop\bin folder and set environment variable for c:\hadoop\bin; 

create temp\hive folder in C:\ drive and give the full permission to this folder like: 

C:\Windows\system32>C:\hadoop\bin\winutils.exe chmod 777 /tmp/hive 

open command prompt first run C:\hadoop\bin> winutils.exe and then navigate to C:\spark\bin> 

run spark-shell 

相關問題