如何为Spark应用程序分配--num-executors,--execuor-cores和--executor-memory
文章目录 前言 一些资源参数设置的基本知识 不同配置的优劣分析 第一种方法:使用较小的executors 第二种方法:使用较大的executors 第三种方法:使用优化的executors 前言 在我们提交spark程序时,应该如何为Spark集群配置–num-executors, - executor-memory和–execuor-cores 呢? 一些资源参数设置的基本知识 Hadoop / Yarn / OS Deamons 当我们使用像Yarn这样的集群管理器运行spark应用程序时,会有几个守护进程在后台运行,如NameNode,Secondary NameNode,DataNode,JobTracker和TaskTracker等。因此,在指定num-executors时,我们需要确保为这些守护进程留下足够的核心(至少每个节点约1 CPU核)以便顺利运行。 Yarn ApplicationMaster(AM) ApplicationMaster负责协调来自ResourceManager的资源,并与NodeManagers一起执行container并监控其资源消耗。如果我们在YARN上运行Spark,那么我们需要预估运行AM所需要的资源(至少1024MB和1 CPU核)。 HDFS吞吐量 HDFS客户端遇到大量并发线程会出现一些bug。一般来说