如何更改 apache Spark Worker 每个节点的内存

2024-04-23

我正在配置 Apache Spark 集群。

当我运行具有 1 个主服务器和 3 个从服务器的集群时,我在主监视器页面上看到以下内容:

Memory
2.0 GB (512.0 MB Used)
2.0 GB (512.0 MB Used)
6.0 GB (512.0 MB Used)

我想增加工作人员的已用内存,但我找不到合适的配置。我变了Spark-env.sh如下:

export SPARK_WORKER_MEMORY=6g
export SPARK_MEM=6g
export SPARK_DAEMON_MEMORY=6g
export SPARK_JAVA_OPTS="-Dspark.executor.memory=6g"
export JAVA_OPTS="-Xms6G -Xmx6G"

但使用的内存还是一样。我应该怎么做才能更改已用内存?


当使用 1.0.0+ 并使用 Spark-shell 或 Spark-Submit 时,请使用--executor-memory选项。例如。

spark-shell --executor-memory 8G ...

0.9.0 及以下:

当您启动作业或启动 shell 时,会更改内存。我们必须修改 Spark-shell 脚本,以便它能够携带命令行参数作为底层 Java 应用程序的参数。尤其:

OPTIONS="$@"
...
$FWDIR/bin/spark-class $OPTIONS org.apache.spark.repl.Main "$@"

然后我们可以运行 Spark shell,如下所示:

spark-shell -Dspark.executor.memory=6g

当为独立的 jar 配置它时,我在创建 Spark 上下文之前以编程方式设置系统属性,并将值作为命令行参数传递(然后我可以使其比冗长的系统属性更短)。

System.setProperty("spark.executor.memory", valueFromCommandLine)

至于更改默认集群范围,抱歉,不完全确定如何正确执行此操作。

最后一点 - 我有点担心你有 2 个 2GB 节点和一个 6GB 节点。您可以使用的内存将仅限于最小的节点 - 所以这里是 2GB。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 apache Spark Worker 每个节点的内存 的相关文章

随机推荐