温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux spark安装内存怎么设

发布时间:2026-11-06 15:28:56 来源:亿速云 阅读:96 作者:小樊 栏目:系统运维

在 Linux 上安装/部署 Spark 时,“内存怎么设”通常分 三种场景,下面按最常见用法说明,并给出示例。


一、Spark 单机 / 本地模式(新手最常见)

如果你只是:

./bin/spark-shell
# 或
./bin/spark-submit --master local[*] ...

设置方式

通过环境变量或提交参数控制:

export SPARK_DRIVER_MEMORY=2g

或在提交时:

spark-submit \
  --driver-memory 2g \
  --executor-memory 2g \
  your_app.py

⚠️ local 模式没有真正 executor,只有一个 JVM
所以主要看:

  • --driver-memory

二、Spark Standalone 集群(自带 Master/Worker)

1️⃣ Worker 可用内存

修改:

conf/spark-env.sh
SPARK_WORKER_MEMORY=8g
SPARK_WORKER_CORES=4

表示这个 Worker 节点最多给 Spark 8G 内存

2️⃣ 提交任务时分配

spark-submit \
  --master spark://master:7077 \
  --executor-memory 4g \
  --driver-memory 2g \
  --total-executor-cores 4 \
  app.py

三、YARN 模式(生产最常用)

1️⃣ 由 YARN 控制

内存受 yarn-site.xml 限制:

<property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>16384</value>
</property>

<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>8192</value>
</property>

2️⃣ Spark 提交参数

spark-submit \
  --master yarn \
  --deploy-mode cluster \
  --driver-memory 2g \
  --executor-memory 4g \
  --num-executors 3 \
  app.py

四、Spark 内存结构(很重要)

Executor 内存不是全给计算:

Executor Memory
├── Execution(shuffle、join)
├── Storage(cache、broadcast)
└── Overhead(JVM、堆外)

推荐设置:

--conf spark.memory.fraction=0.6
--conf spark.memory.storageFraction=0.5

五、常见坑

❌ 设太大导致 OOM
✅ 留 10–20% 给系统

❌ 混用 driver/executor
✅ YARN cluster 模式 driver 在 NodeManager 上

❌ 小内存跑大 shuffle
✅ 增加 executor 数而不是单 executor 内存


六、最小示例(4G 机器)

spark-submit \
  --master local[2] \
  --driver-memory 2g \
  app.py

如果你能告诉我:

  • Spark 模式(local / standalone / yarn / k8s)
  • 机器内存大小
  • 是否是生产环境

我可以直接帮你给一套可抄的配置。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手