我正在研究一个Spark项目,并且正在使用具有以下配置的3个节点的hadoop集群:

  • Ram (Namenode,Application Master,nodemanager和spark master和worker)的8core和16go。
  • Ram的4核和8go (数据节点,节点管理器和工作程序)
  • Ram的4核和4go (数据节点,nodemanager和worker)
    所以我正在使用以下配置:
    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/

    10-11 17:13