spark yarn java_使用Spark和Yarn进行资源分配

我在纱线客户端模式下使用Zeppelin 0.7.3和Spark 2.3 . 我的设置是:

火花:

spark.driver.memory 4096m

spark.driver.memoryOverhead 3072m

spark.executor.memory 4096m

spark.executor.memoryOverhead 3072m

spark.executor.cores 3

spark.executor.instances 3

纱:

最小分配:内存:1024,vCores:2

最大分配:内存:9216,vCores:6

Zeppelin启动的应用程序获得以下资源:

运行容器4

分配的CPU VCores 4

分配的内存MB 22528

b5d77aff-263d-40e9-8ffe-3ce22b50a13f.png

我不太了解纱线分配的内存量 . 鉴于设置,我会假设纱线将保留(4096 3072)* 4m = 28672m . 但是,看起来像spark.executor.memoryOverhead选项被忽略(我也试过spark.yarn.executor.memoryOverhead没有任何效果) . 因此,最小384m被分配为开销 . 由于最小分配设置为1024m,我们最终得到(4096 3072)* 1m(4096 1024)* 3m = 22528m,其中第一项是驱动程序,第二项是执行程序内存的总和 .

为什么只分配了4个CPU VCore,即使我要求更多和最小分配设置为2并且我请求更多内核?查看Application Master时,我找到以下执行程序:

99e01a2b-078a-49c4-8119-d149e5389c43.png

在这里,执行程序确实每个都有3个核心 . 我怎么知道哪个值是正确的或者我错过了什么?

我尝试了几个设置,在yarn-client模式下,我应该使用spark.yarn.am.memory或spark.yarn.am.cores等选项 . 然而,纱线似乎忽略了这些 . 为什么会这样?此外,在纱线客户模式下,驾驶员应该在纱线外运行 . 为什么资源仍在纱线中分配?我的Zeppelin与其中一名 Worker 在同一台机器上运行 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值