Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 无法从本地pyspark在ec2 spark群集上执行简单任务_Amazon Web Services_Amazon Ec2_Apache Spark - Fatal编程技术网

Amazon web services 无法从本地pyspark在ec2 spark群集上执行简单任务

Amazon web services 无法从本地pyspark在ec2 spark群集上执行简单任务,amazon-web-services,amazon-ec2,apache-spark,Amazon Web Services,Amazon Ec2,Apache Spark,我正在尝试从mac上执行pyspark,以便在EC2 spark群集上进行计算。 如果我登录到群集,它将按预期工作: $ ec2/spark-ec2 -i ~/.ec2/spark.pem -k spark login test-cluster2 $ spark/bin/pyspark 14/06/26 16:38:52 INFO spark.SparkContext: Starting job: count at <stdin>:1 14/06/26 16:38:52 INFO

我正在尝试从mac上执行pyspark,以便在EC2 spark群集上进行计算。
如果我登录到群集,它将按预期工作:

$ ec2/spark-ec2 -i ~/.ec2/spark.pem -k spark login test-cluster2
$ spark/bin/pyspark
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
然后做一个简单的任务

>>> data=sc.parallelize(range(1000),10)`
>>> data.count()
按预期工作:

$ ec2/spark-ec2 -i ~/.ec2/spark.pem -k spark login test-cluster2
$ spark/bin/pyspark
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
它似乎无法连接到群集

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
我认为问题出在ec2安全性中,但即使在向主安全组和从安全组添加入站规则以接受所有端口后,也没有任何帮助

任何帮助都将不胜感激

其他人在邮件列表上问同样的问题

根据我的经验
最初的工作没有接受任何资源;检查群集UI以确保工作进程已注册且具有足够的内存
通常意味着您意外地将核心设置得太高,或将executer内存设置得太高,即高于节点实际拥有的内存

其他不太可能的原因可能是URI错误,并且没有真正连接到主机。有一次,当
/run
分区为100%时,我看到了这个问题


更不可能的是,您的群集实际上可能已关闭,您需要重新启动spark workers。

spark-ec2脚本将ec2中的spark群集配置为独立,这意味着它无法与远程提交一起工作。在我发现它不受支持之前,我已经与您描述的相同错误斗争了好几天。不幸的是,消息错误不正确


因此,您必须复制您的资料并登录master以执行spark任务。

非常感谢samthebest。第一个和第三个似乎不是原因,因为如果从主节点本身提交,我可以按预期执行任务。因此,集群确实在工作。关于第二个原因,也可能不是因为我故意为测试输入了错误的URI,并得到了不同的错误。事实上,主节点日志上的tail-f还显示了在所有节点上运行df-h和df-i的相应errorstry(长镜头)。不知怎的,我错过了你的回答,菲利克斯。谢谢