spark-shell 每次以 1GB 执行程序内存启动
spark-shell start everytime with 1GB executor memory
我在 运行 spark-shell 时遇到问题。我每次都收到以下错误消息:
所需的执行程序内存 (1024+384 MB) 高于此集群的最大阈值 (1024 MB)!
我按照以下步骤解决了这个问题,但没有任何结果。
- 将 yarn.scheduler.maximum-allocation-mb 设置为 8GB
- 以参数executor-memory
启动spark-shell
奇怪的是,服务重启后spark-shell只工作了一次。在这之后尝试 spark-shell 不会加载正确的执行程序内存。每次都以 1GB
开始
希望有人能帮我解决问题。
亲切的问候
hbenner89
您是否尝试分配超过 1g 的内存,因为它抱怨它需要更多。
我会尝试 运行 2g 作为测试。
bin/spark-shell --executor-memory 2g --master yarn
一定要为OS留一个小缓冲,这样它就不会占用整个系统的内存。
此选项也适用于您一直在使用的独立模式,但如果您一直在使用 ec2 脚本,我们会在 conf/spark-defaults.conf 中设置 "spark.executor.memory" 以自动执行此操作,因此您不必每次都在命令行上指定它。您也可以在 YARN 中执行相同的操作。
感谢您的回答。对理解内存选项有很大帮助。
我发现了问题:问题不在executor-memory。我将 yarn.nodemanager.resource.memory-mb 更改为 2GB。进行此更改后,一切正常。
我遇到了同样的问题,将执行程序内存减少到 512MB 并且它起作用了。假设 512MB 足以满足您的程序需求。
spark-submit --proxy-user spark --master yarn --deploy-mode client --name pi --conf "spark.app.id=pi" --driver-memory 512M --executor-memory 512M pi.py
我在 运行 spark-shell 时遇到问题。我每次都收到以下错误消息:
所需的执行程序内存 (1024+384 MB) 高于此集群的最大阈值 (1024 MB)!
我按照以下步骤解决了这个问题,但没有任何结果。
- 将 yarn.scheduler.maximum-allocation-mb 设置为 8GB
- 以参数executor-memory 启动spark-shell
奇怪的是,服务重启后spark-shell只工作了一次。在这之后尝试 spark-shell 不会加载正确的执行程序内存。每次都以 1GB
开始希望有人能帮我解决问题。
亲切的问候
hbenner89
您是否尝试分配超过 1g 的内存,因为它抱怨它需要更多。
我会尝试 运行 2g 作为测试。
bin/spark-shell --executor-memory 2g --master yarn
一定要为OS留一个小缓冲,这样它就不会占用整个系统的内存。
此选项也适用于您一直在使用的独立模式,但如果您一直在使用 ec2 脚本,我们会在 conf/spark-defaults.conf 中设置 "spark.executor.memory" 以自动执行此操作,因此您不必每次都在命令行上指定它。您也可以在 YARN 中执行相同的操作。
感谢您的回答。对理解内存选项有很大帮助。
我发现了问题:问题不在executor-memory。我将 yarn.nodemanager.resource.memory-mb 更改为 2GB。进行此更改后,一切正常。
我遇到了同样的问题,将执行程序内存减少到 512MB 并且它起作用了。假设 512MB 足以满足您的程序需求。
spark-submit --proxy-user spark --master yarn --deploy-mode client --name pi --conf "spark.app.id=pi" --driver-memory 512M --executor-memory 512M pi.py