gpt4 book ai didi

amazon-web-services - 提升 spark.yarn.executor.memoryOverhead

转载 作者:行者123 更新时间:2023-12-04 03:06:57 25 4
gpt4 key购买 nike

我正在尝试在 EMR 上运行一个 (py)Spark 作业来处理大量数据。目前我的工作失败并显示以下错误消息:

Reason: Container killed by YARN for exceeding memory limits.
5.5 GB of 5.5 GB physical memory used.
Consider boosting spark.yarn.executor.memoryOverhead.

所以我用谷歌搜索了如何做到这一点,发现我应该传递 spark.yarn.executor.memoryOverhead带有 --conf 标志的参数。我是这样做的:
aws emr add-steps\
--cluster-id %s\
--profile EMR\
--region us-west-2\
--steps Name=Spark,Jar=command-runner.jar,\
Args=[\
/usr/lib/spark/bin/spark-submit,\
--deploy-mode,client,\
/home/hadoop/%s,\
--executor-memory,100g,\
--num-executors,3,\
--total-executor-cores,1,\
--conf,'spark.python.worker.memory=1200m',\
--conf,'spark.yarn.executor.memoryOverhead=15300',\
],ActionOnFailure=CONTINUE" % (cluster_id,script_name)\

但是当我重新运行该作业时,它不断给我相同的错误消息,带有 5.5 GB of 5.5 GB physical memory used ,这意味着我的内存力没有增加..关于我做错了什么的任何提示?

编辑

以下是我最初如何创建集群的详细信息:
aws emr create-cluster\
--name "Spark"\
--release-label emr-4.7.0\
--applications Name=Spark\
--bootstrap-action Path=s3://emr-code-matgreen/bootstraps/install_python_modules.sh\
--ec2-attributes KeyName=EMR2,InstanceProfile=EMR_EC2_DefaultRole\
--log-uri s3://emr-logs-zerex\
--instance-type r3.xlarge\
--instance-count 4\
--profile EMR\
--service-role EMR_DefaultRole\
--region us-west-2'

谢谢。

最佳答案

几个小时后,我找到了这个问题的解决方案。创建集群时,我需要传递以下标志作为参数:

--configurations file://./sparkConfig.json\

JSON 文件包含:
[
{
"Classification": "spark-defaults",
"Properties": {
"spark.executor.memory": "10G"
}
}
]

这允许我在下一步中使用我最初发布的参数增加 memoryOverhead。

关于amazon-web-services - 提升 spark.yarn.executor.memoryOverhead,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38101857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com