2014-10-27 19 views
5

我想在小型獨立羣集(1個主節點和8個從節點)上設置Apache-Spark。我已經安裝了構建在Hadoop 2.4之上的spark 1.1.0的「預建」版本。我已經在節點之間設置了無密碼的ssh並導出了一些必要的環境變量。其中一個變量(這可能是最相關的)的是:apache spark,「未能創建任何本地目錄」

export SPARK_LOCAL_DIRS=/scratch/spark/ 

我有一個小的Python代碼我知道星火工程。我可以在本地運行它 - 在我的桌面上,而不是集羣上 - :

$SPARK_HOME/bin/spark-submit ~/My_code.py 

我將代碼複製到集羣。然後,我開始從頭節點的所有進程:

$SPARK_HOME/sbin/start-all 

而且每個從站被列爲與進程xxxxx一樣運行。

如果我再嘗試與上述相同的命令來運行我的代碼:

$SPARK_HOME/bin/spark-submit ~/MY_code.py 

我收到以下錯誤:

14/10/27 14:19:02 ERROR util.Utils: Failed to create local root dir in /scratch/spark/. Ignoring this directory. 
14/10/27 14:19:02 ERROR storage.DiskBlockManager: Failed to create any local dir. 

我對/scratch/scratch/spark 777設置權限。 任何幫助是極大的讚賞。

回答

3

問題是我沒有意識到主節點也需要一個暫存目錄。在我的每個8個工作節點中,我創建了local/scratch/spark目錄,但忽略在主節點上這樣做。添加目錄解決了問題。

+0

我也有類似的問題,我有一個Ambari設置,你能告訴我如何識別哪個是主節點? – 2017-06-21 18:41:54