Apache spark 配置spark应用程序参数的最佳起点是什么?
我很困惑应该使用哪种方法来配置spark应用程序参数Apache spark 配置spark应用程序参数的最佳起点是什么?,apache-spark,pyspark,Apache Spark,Pyspark,我很困惑应该使用哪种方法来配置spark应用程序参数 考虑下面的集群配置:10个节点、每个节点16个内核和每个节点的6GB RAM(例如从 基于上述建议,让我们为每个执行器分配5个核心=>--executor cores=5(以获得良好的HDFS吞吐量) 对于Hadoop/Thread守护进程,每个节点保留1个内核=>Num core available per node=16-1=15。因此,集群中的可用内核总数=15 x 10=150 可用执行器的数量=(总内核数/每个执行器的内核数)=15
考虑下面的集群配置:10个节点、每个节点16个内核和每个节点的6GB RAM(例如从
5个核心=>--executor cores=5
(以获得良好的HDFS吞吐量)1个内核=>Num core available per node=16-1=15。因此,集群中的可用内核总数=15 x 10=150
--num executors=29
--执行器内存=21-3=18GB
问题:如果我们使用示例1中应用的规则并计算示例2中的推荐配置,结果将非常不同。事实上,如果我们
--executor cores=4
,然后我们从每个节点6*24=144减去1个core,那么我们得到144/4=26个执行器。在为AM==>--num executors=25 .现在,如果我们要计算每个节点的执行器数量=25/6=WHATTTT?我的错误在哪里?有6个节点、25个核心节点和125 GB,
如果细分为每个执行器“4”个核心,每个节点留下“1”个核心。那么6*24=144(考虑的总核心数)。144/4=“36”执行器不是“26”。如果您遗漏了“1”执行器,那么它将是“35”。
因此,对于每个节点(Node1到Node5=“6”executor+Node6=“5”executor+1(我们省略了它),或者任何其他节点都会携带5个executor和6个executor),就像这样。但是他们推荐3o个executor,这让人感到困惑,你可以参考你指向cloudera post的文章。如果每个节点有25个内核离开“1”系统进程的每个节点的核心数和每个节点的每个执行器的“4”核心数可以更好地利用群集资源。@Karthick,您能否指定我们如何通过slurm批处理文件设置您的建议配置:#SBATCH--nodes=6#SBATCH--mem per cpu=#SBATCH--cpu per task=#SBATCH--ntasks per node=#