日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用ECI彈性調度Flink作業

使用阿里云彈性容器實例(Elastic Container Instance)調度Flink作業,可以不受限于ACK集群的節點計算容量,靈活動態地按需創建Pod(容器組),有效地降低計算成本。本文為您介紹如何使用ECI彈性調度Flink作業。

背景信息

如果您需要使用更多ECI的高級功能,可以通過設置更多的Annotation(注解)對ECI按需進行參數配置,詳情請參見ECI Pod Annotation。

前提條件

  • 已在E-MapReduce on ACK控制臺創建Flink集群,詳情請參見快速入門。

  • 已開通彈性容器實例服務,詳情請參見使用流程

操作步驟

  1. 在ACK集群中安裝ECI所需的虛擬節點,詳情請參見步驟一:在ACK集群中部署ack-virtual-node組件。

  2. 在EMR on ACK上提交Flink作業時,可以通過設置Label(標簽)或Annotation(注解)來實現ECI調度Flink作業。

    提交Flink作業詳情,請參見提交Flink作業

    說明

    本文示例中版本以Flink 1.13(EMR-3.41.0-ack)為例,其他版本時請修改flinkVersion的配置。詳細配置項請參見Flink Kubernetes Operator

    • 方式一:配置Pod Label。

      設置參數alibabacloud.com/eci為true,將指定Pod調度到ECI上運行,參考示例如下。

      
      apiVersion: flink.apache.org/v1beta1
      kind: FlinkDeployment
      metadata:
        name: basic-emr-example
      spec:
        flinkVersion: v1_13
        flinkConfiguration:
          state.savepoints.dir: file:///flink-data/flink-savepoints
          state.checkpoints.dir: file:///flink-data/flink-checkpoints
          metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
          # 通過配置Label,Flink的JobManager和TaskManager使用ECI。
          kubernetes.jobmanager.labels: alibabacloud.com/eci:true
          kubernetes.taskmanager.labels: alibabacloud.com/eci:true
          #(可選)配置ECI鏡像緩存,提升性能。
          kubernetes.jobmanager.annotations: k8s.aliyun.com/eci-image-cache:true
          kubernetes.taskmanager.annotations: k8s.aliyun.com/eci-image-cache:true
        serviceAccount: flink
        podTemplate:
          metadata:
            annotations:
              prometheus.io/path: /metrics
              prometheus.io/port: "9249"
              prometheus.io/scrape: "true"
          spec:
            serviceAccount: flink
            containers:
              - name: flink-main-container
                volumeMounts:
                  - mountPath: /flink-data
                    name: flink-volume
                ports:
                  - containerPort: 9249
                    name: metrics
                    protocol: TCP
            volumes:
              - name: flink-volume
                emptyDir: {}
      
        jobManager:
          replicas: 1
          resource:
            memory: "2048m"
            cpu: 1
        taskManager:
          resource:
            memory: "2048m"
            cpu: 1
      
        job:
          jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar
          parallelism: 2
          upgradeMode: stateless
      
                                          
    • 方式二:配置Pod Annotation。

      設置參數alibabacloud.com/burst-resource為eci,將指定Pod調度到ECI上運行,Annotation取值包含兩種類型:

      • eci:當集群普通節點的資源不足時,使用ECI。

      • eci_only:只使用ECI。

      參考示例如下。

      
      apiVersion: flink.apache.org/v1beta1
      kind: FlinkDeployment
      metadata:
        name: basic-emr-example
      spec:
        flinkVersion: v1_13
        flinkConfiguration:
          state.savepoints.dir: file:///flink-data/flink-savepoints
          state.checkpoints.dir: file:///flink-data/flink-checkpoints
          metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
          # 通過配置Annotation,Flink的JobManager和TaskManager使用ECI。
          kubernetes.jobmanager.annotations: alibabacloud.com/burst-resource:eci_only
          kubernetes.taskmanager.annotations: alibabacloud.com/burst-resource:eci_only
          #(可選)配置ECI鏡像緩存,提升性能。
          kubernetes.jobmanager.annotations: k8s.aliyun.com/eci-image-cache:true
          kubernetes.taskmanager.annotations: k8s.aliyun.com/eci-image-cache:true
        serviceAccount: flink
        podTemplate:
          metadata:
            annotations:
              prometheus.io/path: /metrics
              prometheus.io/port: "9249"
              prometheus.io/scrape: "true"
          spec:
            serviceAccount: flink
            containers:
              - name: flink-main-container
                volumeMounts:
                  - mountPath: /flink-data
                    name: flink-volume
                ports:
                  - containerPort: 9249
                    name: metrics
                    protocol: TCP
            volumes:
              - name: flink-volume
                emptyDir: {}
      
        jobManager:
          replicas: 1
          resource:
            memory: "2048m"
            cpu: 1
        taskManager:
          resource:
            memory: "2048m"
            cpu: 1
      
        job:
          jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar
          parallelism: 2
          upgradeMode: stateless                              
    • 方式三:每次提交作業時默認使用ECI Pod。

      1. 進入flink-conf.yaml頁簽。

        1. 登錄EMR on ACK控制臺。

        2. 在EMR on ACK頁面,單擊目標集群所在行的配置。

        3. 配置頁簽,單擊flink-conf.yaml

      2. 配置Flink集群以啟用ECI。

        1. 單擊新增配置項。

        2. 新增配置項對話框中,添加以下配置。

          參數

          描述

          kubernetes.jobmanager.annotations

          固定值為alibabacloud.com/burst-resource:eci_only,k8s.aliyun.com/eci-image-cache:true。

          kubernetes.taskmanager.annotations

          固定值為alibabacloud.com/burst-resource:eci_only,k8s.aliyun.com/eci-image-cache:true。

        3. 單擊確定。

        4. 在彈出的對話框中,輸入執行原因,單擊保存。

      3. 生效配置。

        1. 單擊下方的部署客戶端配置

        2. 在彈出的對話框中,輸入執行原因,單擊確定。

        3. 確認對話框中,單擊確定。

          等待30秒左右后,再次新建作業時即可看到默認配置的修改已生效。