【问题标题】:Spark standalone mode on AWS EMRAWS EMR 上的 Spark 独立模式
【发布时间】:2016-06-07 19:07:54
【问题描述】:
我可以在 documentation 之后在 AWS EMR 上运行 Spark,但我看到它总是使用 YARN 而不是独立管理器。有什么方法可以轻松使用独立模式而不是 YARN?我真的不想破解引导脚本来关闭纱线并自己部署 spark master/workers。
我遇到了weird YARN related bug,我希望独立管理器不会发生这种情况。
【问题讨论】:
标签:
amazon-web-services
apache-spark
hadoop-yarn
elastic-map-reduce
【解决方案1】:
据我所知,除非您返回旧的 ami-versions 而不是使用 emr-release-label,否则无法在 EMR 上以独立模式运行。然而,旧的 ami 版本会导致新版本的 Spark 出现其他问题,所以我不会那样做。
您可以做的是使用 Spark 而不是使用 EMR 来启动普通的 EC2 实例。如果您有本地 Spark 安装,请转到 ec2 文件夹并使用 spark-ec2 启动集群,如下所示:
./spark-ec2 --copy-aws-credentials --key-pair=MY_KEY --identity-file=MY_PEM_FILE.pem --region=MY_PREFERED_REGION --instance-type=INSTANCE_TYPE --slaves=NUMBER_OF_SLAVES --hadoop-major-version=2 --ganglia launch NAME_OF_JOB
我怀疑您有需要的 jar 文件,因此必须将它们复制到集群中(首先复制到主服务器,然后通过 ssh 到主服务器,然后从那里将它们复制到从服务器。主服务器上的./spark-ec2/copy-dir 将复制一个目录到所有奴隶)。然后重启 Spark:
./spark/sbin/stop-master.sh
./spark/sbin/stop-slaves.sh
./spark/sbin/start-master.sh
./spark/sbin/start-slaves.sh
您已准备好以独立模式启动 Spark:
./spark/bin/spark-submit --deploy-mode client ...