spark中执行器数与执行器核数的平衡

a5g8bdjr  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(344)

如果我想用100个内核运行我的应用程序,我该如何配置 number-of-executors 以及 executor-cores 达到最佳性能?100个1核执行器更好,还是20个5核执行器更好?
从本文中,我知道如果一个执行器中运行的内核太多,可能会对hdfs io造成压力。但是,如果每个执行器只使用一个内核,那么其中将有许多执行器,并且由于洗牌/广播操作而带来大量网络io。
我想知道如何在两者之间取长补短 number-of-executors 以及 executor-cores . 我的问题是:
有没有可能我设置了一个固定的执行器核心号?例如,我总是从8核机器上取4核。如果不行,我还应该考虑哪些条件?
然而,当运行spark-on-yarn时,spark应用程序不能总是获得它所请求的资源量。在前面的例子中,如果我选择100个有1个内核的执行器,我可能得不到100个执行器,所以我的应用程序可能慢了5倍。但是,如果我选择20个5核的执行器,我可能会得到正好20个执行器,所以我的应用程序可能会运行得更快。我们怎样才能选择合适的 number-of-executors 以及 executor-cores 然后呢?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题