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 web services 无法在远程EC2实例上执行spark任务_Amazon Web Services_Apache Spark_Amazon Ec2 - Fatal编程技术网

Amazon web services 无法在远程EC2实例上执行spark任务

Amazon web services 无法在远程EC2实例上执行spark任务,amazon-web-services,apache-spark,amazon-ec2,Amazon Web Services,Apache Spark,Amazon Ec2,我让Spark 2.3在EC2实例上运行。所有端口都打开,我用“start master.sh”和“start-slave.sh”启动了spark。我尝试使用Java与以下代码进行连接: SparkConf sparkConf = new SparkConf() .setAppName("myappname") .setMaster(System.getProperty("spark.master", "spark://<EC2 DNS&g

我让Spark 2.3在EC2实例上运行。所有端口都打开,我用“start master.sh”和“start-slave.sh”启动了spark。我尝试使用Java与以下代码进行连接:

 SparkConf sparkConf = new SparkConf()
            .setAppName("myappname")
            .setMaster(System.getProperty("spark.master", "spark://<EC2 DNS>:7077"));

这个作业应该有足够的资源,包括内核和内存,我认为这是一个驱动程序(我的本地机器)和工作程序(在EC2上)无法通信的问题。

我通过以下方法解决了这个问题:

用Java更新我的SparkConf:

SparkConf sparkConf = new SparkConf()
    .setAppName("myappname")
    .setMaster(System.getProperty("spark.master", "spark://<EC2 DNS>:7077"))
    .set("spark.driver.host", "localhost")
    .set("spark.driver.port", String.valueOf(23584));
SparkConf SparkConf=new SparkConf()
.setAppName(“myappname”)
.setMaster(System.getProperty(“spark.master”、“spark://:7077”))
.set(“spark.driver.host”、“localhost”)
.set(“spark.driver.port”,String.valueOf(23584));
然后我运行了这个来创建一个SSH隧道:

ssh -R 23584:localhost:23584 ubuntu@<EC2 DNS>
ssh-R 23584:localhost:23584 ubuntu@
你可以使用任何端口,我随机选择了23584。我仍然有问题,但这似乎解决了我上面的错误

ssh -R 23584:localhost:23584 ubuntu@<EC2 DNS>