【发布时间】:2017-06-15 12:56:41
【问题描述】:
我正在尝试了解这张图片中当前 Spark 的情况。
它对我的影响
- 4 台 worker 机器,每台 93.3 Gb 内存
- app
pyskark-shell在每台机器上使用 10 个内核,在每台机器上使用 32 Gb RAM - app
backtestin2在每台机器中使用 2 或 6 个内核,在每台机器中使用 8 Gb
(注意:我确定作业是如何在节点之间分配的。)
我的期望
- app
pyskark-shell在每台机器上使用 10 个内核,在每台机器上使用 32 Gb RAM 每个内核 = 总共使用 320 Gb - app
backtestin2使用 16 个内核在机器之间拆分,每个内核在每台机器中需要 8 Gb = 总共 128 Gb
这是否意味着每个节点的内存在特定应用的节点上运行的所有任务之间共享?我认为属性conf.set('spark.executor.memory', executor_memory) 应该是每个任务。
理由:
我确实知道每个任务需要多少内存,但我不知道每个执行程序有多少任务:因此我无法估计每个执行程序的内存。
【问题讨论】:
标签: apache-spark