Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 ec2 工人无法连接到AWS EC2上的驱动程序_Amazon Ec2_Apache Spark_Pyspark - Fatal编程技术网

Amazon ec2 工人无法连接到AWS EC2上的驱动程序

Amazon ec2 工人无法连接到AWS EC2上的驱动程序,amazon-ec2,apache-spark,pyspark,Amazon Ec2,Apache Spark,Pyspark,我的火花盘有问题。我已经在3台不同的ec2机器上建立了一个集群,当我试图在那里提交时,一切都正常。 我试图做的是使用Eclipse从我的Windows7机器提交。 当我在Eclipse上本地运行Pi.py示例时,它工作得很好。 我将向您展示我的代码,以便更容易理解: from __future__ import print_function import sys from random import random from operator import add from pyspark.co

我的火花盘有问题。我已经在3台不同的ec2机器上建立了一个集群,当我试图在那里提交时,一切都正常。 我试图做的是使用Eclipse从我的Windows7机器提交。 当我在Eclipse上本地运行Pi.py示例时,它工作得很好。 我将向您展示我的代码,以便更容易理解:

from __future__ import print_function

import sys
from random import random
from operator import add
from pyspark.conf import SparkConf
from pyspark import SparkContext


if __name__ == "__main__":
"""
    Usage: pi [partitions]
"""
conf = SparkConf()
conf.setMaster("spark://52.50.19.132:7077") #"52.50.19.132" is the master's 
# public ip, as the private one didn't allow connection(don't know why...ssh?)
conf.setAppName("PythonPi")
conf.set("spark.executor.memory", "500m")
sc = SparkContext(conf=conf)
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
n = 100000 * partitions

def f(_):
    x = random() * 2 - 1
    y = random() * 2 - 1
    return 1 if x ** 2 + y ** 2 < 1 else 0

count = sc.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
print("Pi is roughly %f" % (4.0 * count / n))

sc.stop()
所以一开始我认为这是一个关闭的端口的问题,我打开了所有端口。但一切都没有改变。 我认为这是ssh连接的问题,但实际上我是通过Putty连接到ec2机器的,尽管我认为问题是另一个方面,我的意思是从ec2机器连接到Windows机器。 我还通过

netstat -an 
如果出现一些问题,我发现ec2工作程序和我的Windows计算机之间发送了一个同步。
我希望您能帮助

某些作业挂起,您的计划程序可以为新作业分配资源。检查是否有一些悬而未决的工作!在Spark Ui上,没有应用程序正在等待或运行,我为这个任务分配的内存相当小,所以它不会阻塞任何东西!我注意到,当我在主机上键入netstat-an时,我可以看到它使用公共Ip地址连接到Windows机器(主机)。我想“强制”工作人员也这样做,因此使用公共ip连接回Windows机器(驱动程序),但我找不到任何配置文件来执行此操作。你把我弄糊涂了!它是否在EC2上?master和2个Worker在3个不同的EC2实例上,驱动程序(我创建SparkContext的地方)是我的Windows机器。
netstat -an