2015-09-27 149 views
1

我試圖在Azure VM上運行最簡單的Spark獨立羣集。我正在運行一臺主服務器,同一臺機器上運行單個工人。我可以完美地訪問Web UI,並且可以看到工作人員已經註冊到了主人。Spark獨立羣集不接受連接

但我無法使用筆記本電腦上的spark-shell連接到此羣集。當我在日誌中望去,我看到

15/09/27 12:03:33 ERROR ErrorMonitor: dropping message [class akka.actor.ActorSelectionMessage] 
for non-local recipient [Actor[akka.tcp://[email protected]:7077/]] 
arriving at [akka.tcp://[email protected]:7077] inbound addresses 
are [akka.tcp://[email protected]:7077] 
akka.event.Logging$Error$NoCause$ 

現在我覺得爲什麼發生這種情況的原因是,在Azure上,每個虛擬機位於一個類型的防火牆/負載均衡器的後面。我嘗試使用Azure告訴我的公有IP(40.113.XXX.YYY)進行連接,但Spark拒絕接受連接,因爲這不是接口的IP。

由於這個IP不是機器,我也無法綁定到接口。

我怎樣才能讓Spark接受這些數據包呢?

謝謝!

+0

你試過連接到Azure的VPN和使用私有IP連接到它呢? – cjcroix

+0

什麼是IP火花? (netstat -l | grep 7077) –

回答

0

您可以嘗試將ip地址設置爲MASTER_IP,其中spark-env.sh代替主機名。

+0

在大多數情況下,這是首先要檢查的。 –

0

我得到了同樣的問題,並能夠通過獲取配置--ip參數的命令行運行解決火花:

$ ps aux | grep spark 
[bla bla...] org.apache.spark.deploy.master.Master --ip YOUR_CONFIGURED_IP [bla bla...] 

然後,我能夠通過使用正好將連接到我的集羣相同的字符串作爲YOUR_CONFIGURED_IP

spark-shell --master spark://YOUR_CONFIGURED_IP:7077