2015-10-13 48 views
0

我已經使用Spark幾個星期,現在在數字海洋上建立一個集羣,有一個主站和一個從站,但我仍然有相同的錯誤「初始作業未接受任何資源;請檢查您的羣集UI以確保工作人員已註冊且擁有足夠的資源」。我不得不問,因爲在這裏或在互聯網上沒有答案解決了這個問題。Apache Spark - 「初始作業沒有接受任何資源」 - 當設置了--master選項時

所以我想我的電腦這個命令的,以及對主:

./bin/pyspark --master spark://<MASTER-IP>:7077 

和外殼正確啓動,但如果我用這個例子測試:

sc.parallelize(range(10)).count() 

我得到錯誤。

我確定這不是一個資源問題,因爲我可以從兩個節點啓動shell並創建rdd而沒有問題,內存和核心變量設置在spark-env.sh中,並且master和slave可以通過ssh進行通信彼此。我讀過,它可能是奴隸無法與司機溝通,在我的情況下,這可能是我的電腦或主人。

+0

什麼是集羣UI說呢?另外,奴隸可以談談啓動python控制檯的機器? – Reactormonk

+0

我可以看到工作人員和在UI上運行的PySparkShell。事情是,當我在我的電腦上運行控制檯時,spark.driver.host顯示一個私有IP。 – eftov

回答

0

火花從節點和主節點必須能夠與驅動程序進行通信,即需要打開PC上的端口到羣集(最好只允許羣集中的特定節點ips)。

我相信,如果是這種情況,您可以在工作節點的stderr日誌中看到連接錯誤。

請參閱network security guide瞭解配置端口的更多詳細信息。

0

我通過設置專用網絡並編輯spark-env.sh中的SPARK_LOCAL_IP來解決這個問題。所以現在,如果我通過ssh'ing在主控上運行Spark殼,它就可以工作;雖然不是從該網絡外部開放端口。所以我想知道是否真的有可能遠程運行一個shell?上紗線

0

火花可以在兩種模式

運行
  1. 羣集模式 - 火花驅動器在
  2. 客戶端模式的火花主節點運行 - 火花驅動程序從客戶端上運行,其中 交互式shell運行。

集羣模式並不適合在pyspark中交互式使用Spark。需要用戶輸入的Spark應用程序(如spark-shell和pyspark)需要Spark驅動程序在啓動Spark應用程序的客戶端進程內運行。

客戶端模式可在環境中設置如下
export PYSPARK_SUBMIT_ARGS='--master yarn --deploy-mode client pyspark-shell'

相關問題