如何将 PySpark(本地机器)连接到我的 EMR 集群?
How can I connect PySpark (local machine) to my EMR cluster?
我已经部署了一个使用 Apache Spark 引导的 3 节点 AWS ElasticMapReduce 集群。在我的本地机器上,我可以通过 SSH 访问 master 节点:
ssh -i <key> hadoop@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com
一旦通过 ssh 进入主节点,我就可以通过 pyspark
访问 PySpark。
此外,(尽管不安全)我已将主节点的安全组配置为接受来自本地计算机 IP 地址的 TCP 流量,特别是端口 7077
.
但是,我仍然无法将我的 local PySpark 实例连接到我的集群:
MASTER=spark://ec2-master-node-public-address:7077 ./bin/pyspark
上述命令导致了一些异常,导致 PySpark 无法初始化 SparkContext 对象。
有谁知道如何像我上面描述的那样成功创建远程连接?
除非您的本地机器是集群的主节点,否则您不能这样做。您将无法使用 AWS EMR 做到这一点。
我已经部署了一个使用 Apache Spark 引导的 3 节点 AWS ElasticMapReduce 集群。在我的本地机器上,我可以通过 SSH 访问 master 节点:
ssh -i <key> hadoop@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com
一旦通过 ssh 进入主节点,我就可以通过 pyspark
访问 PySpark。
此外,(尽管不安全)我已将主节点的安全组配置为接受来自本地计算机 IP 地址的 TCP 流量,特别是端口 7077
.
但是,我仍然无法将我的 local PySpark 实例连接到我的集群:
MASTER=spark://ec2-master-node-public-address:7077 ./bin/pyspark
上述命令导致了一些异常,导致 PySpark 无法初始化 SparkContext 对象。
有谁知道如何像我上面描述的那样成功创建远程连接?
除非您的本地机器是集群的主节点,否则您不能这样做。您将无法使用 AWS EMR 做到这一点。