Apache spark Amazon EMR 5.0上的spark submit executor内存问题
我启动了一个Python Spark程序,如下所示:Apache spark Amazon EMR 5.0上的spark submit executor内存问题,apache-spark,amazon-ec2,amazon-emr,Apache Spark,Amazon Ec2,Amazon Emr,我启动了一个Python Spark程序,如下所示: /usr/lib/spark/bin/spark-submit \ --master yarn \ --executor-memory 2g \ --driver-memory 2g \ --num-executors 2 --executor-cores 4 \ my_spark_program.py 我得到一个错误: 所需的执行器内存(2048+4096 MB)高于最大阈值 此群集的(5760 MB)!请检查 '
/usr/lib/spark/bin/spark-submit \
--master yarn \
--executor-memory 2g \
--driver-memory 2g \
--num-executors 2 --executor-cores 4 \
my_spark_program.py
我得到一个错误:
所需的执行器内存(2048+4096 MB)高于最大阈值
此群集的(5760 MB)!请检查
'纱线.调度程序.最大分配mb'和/或
'纱线.节点管理器.资源.内存mb'
这是一个全新的EMR 5集群,具有一个主m3.2x大型系统和两个核心m3.xlarge系统。所有内容都应设置为默认值。我目前是此群集上唯一运行一个作业的用户
如果我将执行器内存从2g降低到1500m,它就会工作。这似乎太低了。EC2 m3.xlarge服务器具有15GB的RAM。这些是Spark worker/executor机器,它们没有其他用途,因此我希望尽可能多地将其用于Spark
有人能解释一下我是如何从拥有15GB的EC2 worker实例到只分配1.5GB的Spark worker实例的
在[我看到在安装了HBase的情况下,Thread.nodemanager.resource.memory-mb的EC2 m3.xlarge默认值为11520MB和5760MB。我没有使用HBase,但我相信它安装在我的群集上。删除HBase会释放大量内存吗?这是Thread.nodemanager.resource.memory mb
为可用内存设置最相关的设置吗奥莉
当我告诉spark submit——执行器内存时,是每个内核还是整个工作进程的内存
当我得到错误所需的执行器内存(2048+4096MB)
时,第一个值(2048)是我传递给--执行器内存
的值,我可以更改它并看到错误消息相应地更改。第二个4096MB值是什么?我如何更改它?我应该更改它吗
我试图将此问题发布到AWS开发者论坛(),但收到错误“您的邮件配额已达到。请稍后再试。”当我还没有发布任何内容时?为什么我没有权限在那里发布问题?是的,如果安装了hbase,它将使用相当多的内存(默认情况下)。除非需要,否则不应该将它放在群集上
如果只有1个核心节点,则您的错误是有意义的。6G(2个执行器4G,驱动程序2G)的内存将超过资源管理器必须分配的内存。对于2节点核心,您实际上应该能够分配3个2G执行器。1个在有驱动程序的节点上,2个在另一个节点上
一般来说,这有助于确保您充分利用集群