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

Implement external shuffle service for Kubernetes

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Reopened
    • Not a Priority
    • Resolution: Unresolved
    • None
    • None
    • Runtime / Network

    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, zjwang 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

              ssy MalcolmSanders
              ssy MalcolmSanders
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated: