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

Implement external shuffle service for Kubernetes

Agile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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, 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            ssy MalcolmSanders
            ssy MalcolmSanders

            Dates

              Created:
              Updated:

              Slack

                Issue deployment