Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-13246

Implement external shuffle service for Kubernetes

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Runtime / Network
    • Labels:
      None

      Description

      Flink batch job users could achieve better cluster utilization and job throughput throught external shuffle service because the producers of intermedia result partitions can be released once intermedia result partitions have been persisted on disks. In FLINK-10653, Zhijiang has introduced pluggable shuffle manager architecture which abstracts the process of data transfer between stages from flink runtime as shuffle service. I propose to k8s implementation for flink external shuffle service.

      There are a few points needed to be discussed:
      (1) how to deploy external shuffle service in k8s?
      DaemonSet Vs. Sidecar mode
      (2) how to manage pv used for storing intermedia result partition data?
      Plan A: Shuffle servers(or other volume provisioners) provision pv, and producers write to local pv;
      Plan B: Producers write to shuffle server through network, and let shuffle server control the use of pv;
      (3) shuffle server could temporarily apply persistent storage backed by cloud storages such as AWSElasticBlockStore, cephFs and etc.

      I'll bring a design document later.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ssy MalcolmSanders
                Reporter:
                ssy MalcolmSanders
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated: