Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-39023

Add Executor Pod inter-pod anti-affinity

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.2.1
    • None
    • Kubernetes
    • None

    Description

      Why should we need this?

      When Spark On Kubernetes is running, Executor Pod clusters occur in certain conditions (uneven resource allocation in Kubernetes, high load On some nodes, low load On some nodes), causing Shuffle data skew. This causes Spark application to fail or performance bottlenecks, such as Shuffle Fetch timeout and connection refuse after connection number.

      Why should use this?

      The functionality mentioned in this PR was tested on a cluster.

      Using three Kubernetes Node(node-1, node-2, node-3).

      In the case of sufficient or insufficient cluster resources, it  has the same effect Whether the feature is enabled or not. Kubernetes assigns pods to nodes with low load based on global resources. When only one node has a small load, Kubernetes will schedule all executor pods to this node. 

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              zWangSheng binjie yang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: