本文为您介绍如何通过kubectl提交作业。

前提条件

已在E-MapReduce控制台创建on ACK的Spark集群,详情请参见创建集群

操作步骤

  1. 通过kubectl连接Kubernetes集群,详情请参见通过kubectl管理Kubernetes集群
  2. 执行如下命令,新建spark-pi.yaml文件。
    vim spark-pi.yaml
    说明 文件名您可以自定义,本文以spark-pi为例介绍。
  3. 配置spark-pi.yaml文件,文件内容如下。
    apiVersion: "sparkoperator.k8s.io/v1beta2"
    kind: SparkApplication
    metadata:
      name: spark-pi-simple
    spec:
      type: Scala
      sparkVersion: 2.4.5
      mainClass: org.apache.spark.examples.SparkPi
      mainApplicationFile: "local:///opt/spark/examples/target/scala-2.11/jars/spark-examples_2.11-2.4.5.jar"
      arguments:
        - "1000"
      driver:
        cores: 1
        coreLimit: 1000m
        memory: 4g
      executor:
        cores: 1
        coreLimit: 1000m
        memory: 8g
        memoryOverhead: 1g
        instances: 1

    参数含义请参见spark-on-k8s-operator

  4. 执行如下命令,提交作业。
    kubectl apply -f spark-pi.yaml --namespace <集群对应的namespace>
    您可以在集群详情页面,查看已创建的作业信息。