首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用群集模式在EMR上运行spark应用程序

无法使用群集模式在EMR上运行spark应用程序
EN

Stack Overflow用户
提问于 2018-04-09 15:55:18
回答 1查看 1.2K关注 0票数 0

我有一个spark应用程序,我正尝试在amazon EMR上运行它。但是我的应用程序失败了,或者进入运行模式,永远不会退出,同样的代码在2-3分钟内就可以在本地机器上运行。我怀疑我创建spark session的方式有问题,我的主会议如下所示

代码语言:javascript
复制
val spark = SparkSession.builder
  .master("local[2]")
  .appName("Graph Creation")
  .config("spark.sql.warehouse.dir", "warehouse")
  .config("spark.sql.shuffle.partitions", "1")
  .getOrCreate()

如何构建spark会话,使其在本地计算机和amazon EMR上都能运行,而不会出现问题

EN

回答 1

Stack Overflow用户

发布于 2018-04-10 11:20:18

最好不要在EMR群集中使用local主URL,因为使用从节点不会带来任何好处。本地意味着spark将在启动它的系统上本地运行,不会尝试使用集群中的其他节点。local的主要目的是本地测试,每当你想在集群中运行时,你都应该选择一个资源管理器(yarn、mesos、spark-standalone或Kubernetes集群,请参阅here了解更多详细信息)。

您可以将主URL作为参数提供给spark-submit命令,这样,如果您在本地运行它,则可以传递'local‘,对于EMR集群,则传递'yarn’。

代码语言:javascript
复制
val spark = SparkSession.builder
  .appName("Graph Creation")
  .config("spark.sql.warehouse.dir", "warehouse")
  .config("spark.sql.shuffle.partitions", "1")
  .getOrCreate()

然后在本地:

代码语言:javascript
复制
./bin/spark-submit --master local[2] ...

在EMR上:

代码语言:javascript
复制
./bin/spark-submit --master yarn ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49728027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档