У меня есть Spark enviroment, работающий на Ubuntu 16.2 поверх VirtualBox. Его настроен для работы на местном уровне, и когда я начинаю Спарк сПодключиться к Spark, запущенному на VM
./start-all
я могу получить доступ к нему на VM с помощью веб-интерфейса, используя URL: http://localhost:8080
От хост-машине (Windows), я могу получить к нему доступ тоже с использованием виртуального IP: http://192.168.x.x:8080.
Проблема возникает, когда я пытаюсь создать контекст из моей хост-машины. У меня есть проект в затмении, которое использует Maven, и я пытаюсь запустить следующий код:
ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077"
val conf = new SparkConf().setMaster(ConfigLoader.masterEndpoint).setAppName("SimpleApp")
val sc = new SparkContext(conf)
Я получил эту ошибку:
16/12/21 00:52:05 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://192.168.1.132:8080...
16/12/21 00:52:06 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 192.168.1.132:8080
org.apache.spark.SparkException: Exception thrown in awaitResult
at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77)
Я попытался изменить URL для:
ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077"
Неудачно.
Кроме того, если я попытаюсь получить доступ непосредственно к главному URL-адресу через сеть (http://localhost:7077 в VM), я ничего не получу. Я не знаю, нормально ли это.
Что мне не хватает?
Спасибо !, это решает часть моей проблемы. Другая часть заключалась в том, что я не использовал одни и те же версии искры/scala между моим приложением и искровой машиной. Этот пост тоже помог мне: http: //stackoverflow.com/questions/38559597/failed-to-connect-to-spark-masterinvalidclassexception-org-apache-spark-rpc-rp – dgcipp