我正在研究一个Spark项目,并且正在使用具有以下配置的3个节点的hadoop集群:
所以我正在使用以下配置:
pyspark --master yarn-client --driver-memory 3g --executor-memory 1g --num-executors 3 --executor-cores 1
我所有集群的性能中,执行器,内存和内核的最佳使用量是多少?
最佳答案
从本质上讲,这归结为您需要处理多少数据。如果您拥有整个集群来处理数据,则可以完全使用。pyspark --master yarn-client --driver-memory 3g --executor-memory 1g --num-executors 3 --executor-cores 1
在这里,您没有使用完整的集群。您正在使用3gb驱动程序和1 gb执行程序,其中3个执行程序意味着总共3gb的内存,而群集中有12 Gb内存和8个内核。您可以尝试的一种替代配置pyspark --master yarn-client --driver-memory 8g --executor-memory 3g --num-executors 4 --executor-cores 3
这将使用完整的群集。
但是,执行程序-存储器配置主要基于作业要求。您需要多次尝试进行调整。您可以检查此document进行调整。
关于apache-spark - 如何在具有不同内存和内核数量的集群上调优Spark Jobs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49968548/