Próbuję wykonać pyspark z mojego komputera Mac, aby wykonać obliczenia na klastrze iskrowym EC2.
Jeśli mogę się zalogować do klastra, to działa zgodnie z oczekiwaniami:Nie mogę wykonać prostego zadania na klastrze iskra ec2 z lokalnego pyspark
$ ec2/spark-ec2 -i ~/.ec2/spark.pem -k spark login test-cluster2
$ spark/bin/pyspark
Następnie wykonać proste zadanie
>>> data=sc.parallelize(range(1000),10)`
>>> data.count()
działa zgodnie z oczekiwaniami:
14/06/26 16:38:52 INFO spark.SparkContext: Starting job: count at <stdin>:1
14/06/26 16:38:52 INFO scheduler.DAGScheduler: Got job 0 (count at <stdin>:1) with 10 output partitions (allowLocal=false)
14/06/26 16:38:52 INFO scheduler.DAGScheduler: Final stage: Stage 0 (count at <stdin>:1)
...
14/06/26 16:38:53 INFO spark.SparkContext: Job finished: count at <stdin>:1, took 1.195232619 s
1000
ale teraz gdybym spróbować to samo z lokalnej maszyny,
$ MASTER=spark://ec2-54-234-204-13.compute-1.amazonaws.com:7077 bin/pyspark
to nie wydaje się podłączyć do klastra
14/06/26 09:45:43 INFO AppClient$ClientActor: Connecting to master spark://ec2-54-234-204-13.compute-1.amazonaws.com:7077...
14/06/26 09:45:47 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
...
File "/Users/anthony1/git/incubator-spark/python/lib/py4j-0.8.1-src.zip/py4j/protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o20.collect.
: org.apache.spark.SparkException: Job aborted: Spark cluster looks down
14/06/26 09:53:17 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
Myślałem, że problemem było w bezpieczeństwo EC2, ale to nie pomaga nawet po dodaniu zasady przychodzących do obu grup mistrzowskich i bezpieczeństwa niewolnikiem zaakceptować wszystkie porty .
Każda pomoc zostanie bardzo doceniona!
Inni proszą samo pytanie na liście mailingowej http://apache-spark-user-list.1001560.n3.nabble.com/Deploying-a-python-code-on-a-spark-EC2-cluster-td4758.html#a8465
Niedawno zacząłem pracować w plugin sbt, aby obejść to ograniczenie. https://github.com/felixgborrego/sbt-spark-ec2-plugin – Felix
Jakoś przeoczyłem twoją odpowiedź Felix. Dzięki – Anthony