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

創建Spark任務

通過ACK One Fleet實例,您可以使用和單集群相同的方式創建Spark任務。由Fleet實例根據Spark任務需要的資源和關聯集群的剩余資源,執行動態調度策略,選擇適合的關聯集群下發Spark任務。本文介紹如何創建Spark任務并查看任務狀態。

前提條件

  • Fleet實例默認已安裝Spark Operator的Spark Application CRD,支持的Spark Application CRD的APIVersion為sparkoperator.k8s.io/v1beta2。

  • Fleet實例管理員可以通過以下命令查看CRD。

    kubectl get crd sparkapplications.sparkoperator.k8s.io
  • 如有定制需求,Fleet實例管理員可以修改sparkoperator.k8s.io_sparkapplications.yaml,通過以下命令修改CRD。

    kubectl apply -f manifest/crds/sparkoperator.k8s.io_sparkapplications.yaml
  • Fleet實例管理員已在所有關聯集群上安裝Spark Operator。具體操作,請參見步驟一:安裝Spark Operator

  • 已從ACK One控制臺獲取Fleet實例的KubeConfig,并通過kubectl連接至Fleet實例。

  • 已安裝AMC命令行工具。具體操作,請參見AMC命令行幫助

步驟一:安裝Spark Operator

  1. Fleet實例管理員登錄容器服務管理控制臺

  2. 在控制臺左側導航欄中,選擇市場 > 應用市場

  3. 應用市場頁面單擊應用目錄頁簽,然后搜索并選中ack-spark-operator3.0

  4. ack-spark-operator3.0頁面,單擊一鍵部署

  5. 在彈出面板中,選擇集群和命名空間,然后單擊下一步

  6. 在參數部分設置sparkJobNamespace為“”,然后單擊確定

步驟二:創建Spark任務并查看狀態

  1. 開發者用戶使用以下YAML文件,在Fleet實例上創建任務。

    示例的命名空間為demo,示例的任務名稱為pi

    apiVersion: "sparkoperator.k8s.io/v1beta2"
    kind: SparkApplication
    metadata:
      name: pi
      namespace: demo
    spec:
      type: Scala
      mode: cluster
      image: "acr-multiple-clusters-registry.cn-hangzhou.cr.aliyuncs.com/ack-multiple-clusters/spark:v3.1.1"
      imagePullPolicy: Always
      mainClass: org.apache.spark.examples.SparkPi
      mainApplicationFile: "local:///opt/spark/examples/jars/spark-examples_2.12-3.1.1.jar"
      sparkVersion: "3.1.1"
      restartPolicy:
        type: Never
      volumes:
        - name: "test-volume"
          hostPath:
            path: "/tmp"
            type: Directory
      driver:
        cores: 1
        coreLimit: "1200m"
        memory: "512m"
        labels:
          version: 3.1.1
        serviceAccount: spark
        volumeMounts:
          - name: "test-volume"
            mountPath: "/tmp"
      executor:
        cores: 1
        instances: 3
        memory: "512m"
        labels:
          version: 3.1.1
        volumeMounts:
          - name: "test-volume"
            mountPath: "/tmp"
  2. 執行以下命令,在Fleet實例上獲取任務的調度結果。

    如果調度失敗,則顯示為空。請檢查是否正確配置命名空間與配額。如果命名空間配置配額或者配額用完,任務將暫停調度。

    kubectl get sparkapplication pi -n demo -o jsonpath='{.metadata.annotations.scheduling\.x-k8s\.io/placement}'
  3. 查看Spark任務的狀態。

    • 執行以下命令,在Fleet實例上獲取任務的運行狀態。

      kubectl get sparkapplication pi -n demo

      預期輸出:

      NAME   STATUS      ATTEMPTS   START    FINISH    AGE
      pi     COMPLETED   1          ***      ***       ***
    • 執行以下命令獲取任務相關Pod的運行狀態。

      kubectl amc get pod -j sparkapplication/pi -n demo

      預期輸出:

      Run on ManagedCluster managedcluster-c1***e5
      NAME        READY   STATUS      RESTARTS   AGE
      pi-driver  0/1     Completed   0          ***
    • 執行以下命令獲取Pod的運行日志。

      kubectl amc logs pi-driver  -j sparkapplication/pi -n demo

      預期輸出:

      Run on ManagedCluster managedcluster-c1***e5
      ...
      Pi is roughly 3.144875724378622
      ...